我一直在努力弄清楚如何让URL路由在整个晚上都在我的盒子上工作。我很确定我是根据在线教程(http://msdn.microsoft.com/en-us/library/vstudio/dd329551%28v=vs.100%29.aspx)做的事情,但由于某种原因它无法正常工作。
这是我目前在地址栏中输入的内容:/MA1/DoSurvey.aspx?id=42
但我希望网址的工作方式如下:/ MA1 / DoSurvey / 42
根据教程,我必须修改:
RouteConfig.RegisterRoutes(RouteTable.Routes);
进入Application_Start方法
routes.MapPageRoute("","DoSurvey/{id}","~/MA1/DoSurvey.aspx");
进入RegisterRoutes方法
using System.Web.Routing;
作为DoSurvey.aspx页面中的参考,然后
string SurveyIdQueryStringValue = Page.RouteData.Values["id"] as string;
在DoSurvey.aspx页面
我错过了什么?
答案 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" />