我遇到了一些问题。我的回发导致我的asp.net应用程序页面跳回到页面顶部,即使它们位于更新面板内 当我使用此路由更新面板停止工作
void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.MapPageRoute("UProfile", "{ID}", "~/UProfile.aspx");
}
但是当我使用这段代码时它工作正常,但我想要最简单的网址
void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.MapPageRoute("UProfile", "Users/{ID}", "~/UProfile.aspx");
我该如何解决这个问题? 我尝试了几种不同的解决方案,但是没有用:
1)http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx
2)http://www.iis.net/learn/extensions/url-rewrite-module/url-rewriting-for-aspnet-web-forms
答案 0 :(得分:0)
这将路由将目标根Url,因为没有任何特定的标识符可以正确映射它。我宁愿建议编写路由约束,以便在验证传递的参数后决定何时使用用户详细信息页面。 您也可以在Asp.net Webforms中添加路由器。请检查以下链接。 的 http://www.shubho.net/2011/02/aspnet-mvp-url-routing-webforms-part3.html 强>
可能的解决方案是......
RouteTable.Routes.MapPageRoute("UProfile",
"{ID}",
"~/UProfile.aspx",
false,
new RouteValueDictionary { { "ID", "1" } }, new RouteValueDictionary { { "ID", "[\d]+" } });