我正在使用带有UrlRewriting.Net的webforms来重写页面,例如
http://www.example.com/stuff.aspx?c=30
成为
http://www.example.com/stuff/30-this-stuff.aspx
。
只要加载正确的内容,它就可以正常工作;但是,没有一个回发工作(主要是页面上的按钮)。如果我在Page_Load
上设置断点,我会发现IsPostBack
始终为假。有想法该怎么解决这个吗?现在我只是在Visual Studio 2008上。
修改 我已经切换到UrlRewriter.Net,经过一些调整后工作(参见Scott Gu's article)。除了这里,我已将我原来的问题发布到开发者论坛:如果我得到答案,我会在这里发布(除非先在此处发布)。
答案 0 :(得分:0)
您需要确保它正在执行名为ClientRebaseing的操作,以确保.NET看到新URL与旧Raw URL。有关更多信息,请参阅此帖子:
此外,我不知道UrlRewriting.NET是否支持此功能,但我自己的基于Apache mod_rewrite的URL重写器确实支持重定位客户端路径。
答案 1 :(得分:0)
我可能会离开这里,但我参与了一个使用UrlRewriter.Net的项目,而且我记得,我认为你遇到的问题不是重写表单元素的action属性。查看您的来源,看看<form action"..." ... />
中的网址是否与地址栏中的网址相同。我不知道我们是如何做到这一点的,因为它是在另一个工作,技术主管编写了代码来做到这一点,但我想你会改变表单标签的呈现。