【问题标题】:What cause asp.net webforms to stop including the querystring in the action attribute of the form是什么导致 asp.net webforms 停止在表单的 action 属性中包含查询字符串
【发布时间】:2014-02-21 00:30:18
【问题描述】:

当我请求主应用程序的 Login.aspx 页面时

http://app.primaryDomain.com/Application1/Login.aspx?ReturnUrl=http://myapp.crossdomain.com/Home

我希望<form runat="server"> 的操作属性包含来自请求的查询字符串:

<form action="Login.aspx?ReturnUrl=http://myapp.crossdomain.com/Home">.

但是,我只得到以下信息:

<form action="Login.aspx">.

我尝试了以下方法:

  • 比较 web.config
  • 比较从站点根目录继承的 web.config
  • 比较来自 %frameworkversion%\config\web.config 的机器 web.config
  • 应用程序池设置
  • 应用程序池模式经典/集成
  • 应用程序池 .net 框架版本
  • iis 组件
  • 确保未安装 iis 重写模块

我正在使用多个浏览器检索具有相同结果的页面。

欢迎对我可能没有看过的其他兼容性设置提出任何建议。

【问题讨论】:

  • 请告诉我们您是如何检索它的。
  • @Win 添加了有关请求的信息。

标签: asp.net iis webforms


【解决方案1】:

我没有做的事情是:

  • 比较服务器和我的机器之间的 webforms aspx
  • 在 ASP.NET 临时文件中检查经过 aspx 解析的源代码或生成的 DLL\

如果我做了这些事情,我会发现有人修改了 ASPX 并将操作硬编码为 "login.aspx"

在 ASPX 中设置此值时,在 FrameworkInitialize/__BuildControlTree 期间在控件中对其进行初始化。

当 FormControl.Render 最终有机会运行时,Action 属性已经包含一个值,而您没有获得包含 QueryString 的标准 HtmlForm 行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 2011-05-14
    • 1970-01-01
    相关资源
    最近更新 更多