URL路由不起作用(asp.net 4.5,webforms)

时间:2014-12-09 23:49:08

标签: url routing

我一直在努力弄清楚如何让URL路由在整个晚上都在我的盒子上工作。我很确定我是根据在线教程(http://msdn.microsoft.com/en-us/library/vstudio/dd329551%28v=vs.100%29.aspx)做的事情,但由于某种原因它无法正常工作。

这是我目前在地址栏中输入的内容:/MA1/DoSurvey.aspx?id=42

但我希望网址的工作方式如下:/ MA1 / DoSurvey / 42

根据教程,我必须修改:

1:添加

的Global.asax.cs
RouteConfig.RegisterRoutes(RouteTable.Routes);

进入Application_Start方法

2:添加

的RouteConfig.cs
routes.MapPageRoute("","DoSurvey/{id}","~/MA1/DoSurvey.aspx");

进入RegisterRoutes方法

3:添加

using System.Web.Routing;

作为DoSurvey.aspx页面中的参考,然后

4:使用

获取查询字符串变量
string SurveyIdQueryStringValue = Page.RouteData.Values["id"] as string;

在DoSurvey.aspx页面

我错过了什么?

1 个答案:

答案 0 :(得分:1)

我将此代码添加到web.config,一切正常,试试吧

<modules runAllManagedModulesForAllRequests="true">
  <remove name="UrlRoutingModule" />
  <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</modules>
<handlers>
  <add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />