我正在使用webforms和UrlRewriting.Net来重写页面。
http://www.example.com/stuff.aspx?c=30变成了http://www.example.com/stuff/30-this-stuff.aspx。
只要正确的内容正在加载,它就能工作;但是,没有一个回发工作(主要是页面上的按钮)。如果我在Page_Load上设置了一个断点,我就会发现IsPostBack总是假的。有什么办法解决这个问题吗?现在我正在学习2008。
编辑:--我已经切换到了UrlRewriter.Net,它经过几次调整后就可以工作了(参见斯科特·谷的文章)。除了这里,我已经发布了我最初的问题到开发者的论坛:如果我有一个答案,我会张贴在这里(除非其他人首先在这里发布)。
发布于 2009-09-15 19:22:52
您需要确保它正在执行名为ClientRebaseing的操作,这将确保.NET看到的是新的URL与旧的原始URL。有关更多信息,请参见这篇文章:
Blog/EntryId/46/Why-does-Url-Rewriting-break-all-my-image-links
另外,我不知道UrlRewriting.NET是否支持这一点,但是我自己的基于Apache的mod_rewrite重写器确实支持重新设置客户端路径。
http://urlrewriter.codeplex.com
发布于 2009-09-15 19:29:36
我可能离这里很远,但是我做了一个使用UrlRewriter.Net的项目,据我所记得,我认为您面临的问题不是重写form元素的action属性。查看您的源,并查看<form action"..." ... />中的URL是否与地址栏中的相同。我不知道我们是如何做到这一点的,因为它是在另一项工作中完成的,那里的技术负责人编写了代码来实现这一点,但我想您会更改表单标记的呈现方式。
https://stackoverflow.com/questions/1427689
复制相似问题