加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.net在发布时不会填充服务器表单的action =“”

发布时间:2020-12-16 04:14:44 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.net webforms站点,主页中有一个服务器表单,因为所有页面都需要它. 在调试时,action参数会在运行时与id一起填充,但是当我使用IIS7部署在我的服务器上时,它不会出现……但仍然有效.它不会导致网站问题,但它使我的W3C HTML5验证失败,因为它需要填充
我有一个ASP.net webforms站点,主页中有一个服务器表单,因为所有页面都需要它.

在调试时,action参数会在运行时与id一起填充,但是当我使用IIS7部署在我的服务器上时,它不会出现……但仍然有效.它不会导致网站问题,但它使我的W3C HTML5验证失败,因为它需要填充.

调试源:

<form method="post" action="index.aspx" id="aspnetForm">

直播来源:

<form method="post" action="" id="aspnetForm">

主页中的表单声明:

<form runat="server">
.. some divs
</form>

我知道表单标签没有定义ID /操作等,因为ASP在运行时配置默认值,这很好,虽然由于某种原因它在我的服务器上搞砸了.我已经尝试使用action =“<%Path etc%>”来获取路径名但它不起作用.

我究竟做错了什么?我错过了什么,或者在主页中使用表单是不好的做法?

谢谢.

更新

好的,为了解决答案中指出的问题,我在MasterPage Page_Load上设置了Form.Action,最后得到了W3C的绿灯!

注意:我使用的是Intelligencia Rewriter,但您可以使用Request.Url提取URL

public partial class myMasterPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender,EventArgs e)
    {
        Form.Action = Intelligencia.UrlRewriter.RewriterHttpModule.RawUrl;
    }
}

解决方法

asp.net 4.0?如果是这样,这是你的答案: http://www.asp.net/whitepapers/aspnet4/breaking-changes#0.1__Toc256770154;这不是一个简单的阅读,我自己也不熟悉,所以你应该阅读它,看看它会如何影响你的网站.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读