Urlrewriting.net页面不会导致回发

时间:2009-09-15 14:54:52

标签: asp.net webforms url-rewriting postback urlrewriting.net

我正在使用带有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)。除了这里,我已将我原来的问题发布到开发者论坛:如果我得到答案,我会在这里发布(除非先在此处发布)。

2 个答案:

答案 0 :(得分:0)

您需要确保它正在执行名为ClientRebaseing的操作,以确保.NET看到新URL与旧Raw URL。有关更多信息,请参阅此帖子:

http://www.ifinity.com.au/Blog/Technical_Blog/EntryId/46/Why-does-Url-Rewriting-break-all-my-image-links

此外,我不知道UrlRewriting.NET是否支持此功能,但我自己的基于Apache mod_rewrite的URL重写器确实支持重定位客户端路径。

http://urlrewriter.codeplex.com

答案 1 :(得分:0)

我可能会离开这里,但我参与了一个使用UrlRewriter.Net的项目,而且我记得,我认为你遇到的问题不是重写表单元素的action属性。查看您的来源,看看<form action"..." ... />中的网址是否与地址栏中的网址相同。我不知道我们是如何做到这一点的,因为它是在另一个工作,技术主管编写了代码来做到这一点,但我想你会改变表单标签的呈现。