0

我正在使用带有 UrlRewriting.Net 的网络表单来重写页面,例如

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 的文章)。除此之外,我已经将我最初的问题发布到开发者论坛:如果我得到答案,我会在这里发布(除非先在这里发布)。

4

2 回答 2

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

于 2009-09-15T19:22:52.700 回答
0

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

于 2009-09-15T19:29:36.977 回答