C#形式的上下文重写路径问题

时间:2009-09-27 15:52:07

标签: c# httpcontext

我在HttpContext中使用RewritePath时遇到问题,

context.RewritePath(Utility.WebRoot + "List/Add.aspx", false);

可以正常重写网址:http://localhost/List/Add

但是当我点击按钮时,它会将我重定向到http://localhost/List/Add.aspx

是否有一种很好的方法可以“停止”重定向到.aspx页面并将其保留在http://localhost/List/Add上?

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

From标签存在问题。你必须使用像这样的控制适配器:

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx 转到“使用URL重写处理ASP.NET PostBack”部分。

答案 1 :(得分:0)

这将有助于: http://www.codeproject.com/KB/aspnet/SmartFormControl.aspx

基本上,我们的想法是创建一个新的Form控件(我称之为“ActionlessFormControl”),它源自.Net Form控件。它的要点是您覆盖属性的呈现并为“action”属性设置自己的值。我在我的工作中完全删除了“action”属性,该属性将回发到同一个URL。这意味着,您的页面将发回“/ List / Add”。

使用继承控件的好处是您不必“注册”每个页面。这将允许您正确地回发动态内容/ URL。