【发布时间】:2011-07-22 14:40:47
【问题描述】:
我最近一直在研究网络表单,看看是否可以使用我的(路由)项目之一。到目前为止,这只是麻烦,但我几乎到了它“有效”的地步
我制作了一个页面“Test.aspx”。在 Global.asax,我将其发送到 /test 而不是 /Test.aspx。这完全有效。它来自我的一个自定义页面类。自定义类在页面中找到 HtmlForms 并使用适当的值重写其 Action 属性:/test。
现在我遇到了名为 Viewstate 和 ASP.Net 事件的巨大砖墙。我使用 OnClick 处理程序向 Test.aspx 添加了一个按钮。我可以单击按钮,页面将回发等,但不会发生 OnClick 事件。我不明白一个简单的 URL 更改如何破坏这样的视图状态,因为我不认为 Viewstate 会跟踪这样的事情。此外,IsPostback 将为 false,即使 HttpMethod==true。这对我来说没有任何意义。
另外,我已经禁用了 EventValidation,因为我认为这会很麻烦,但这个问题仍然存在。
在重写 URL 时,如何使视图状态和回发正常工作?
(注意,我的 URL 重写形式在内部进行所有重写,从来没有向用户发送 HTTP 重定向)
【问题讨论】:
标签: asp.net routing url-rewriting viewstate