2009-09-15 34 views
0

我正在使用webforms与UrlRewriting.Net重写页面,例如Urlrewriting.net页面不会导致回发

http://www.example.com/stuff.aspx?c=30
成为
http://www.example.com/stuff/30-this-stuff.aspx

只要正确的内容被加载,它就起作用;但是,没有任何回发正在工作(大多数页面上的按钮)。如果我在Page_Load上设置了一个断点,我发现IsPostBack总是为false。有想法该怎么解决这个吗?现在我只是在Visual Studio中2008

编辑: 因为我已经切换到UrlRewriter.Net,这几个调整后的工作(见Scott Gu's article)。除此之外,我已将我的原始问题发布到开发人员论坛:如果我得到答案,我会在此处发布(除非首先在此处发布)。

回答

0

您需要确保它正在执行一项名为ClientRebaseing的功能,以确保.NET能够看到新的URL与旧的原始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

+0

一个有趣的阅读,但不幸的是不是问题的根源。 – Nick 2009-09-17 16:21:56

0

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

+1

不幸的是情况并非如此,但对于那些特别有问题的人来说,这里有一个很好的解决方案:http://weblogs.asp.net/scottgu/archive/2007/02/26/tip -trick-URL重写,与-ASP-net.aspx – Nick 2009-09-16 15:53:05

相关问题