RouteData.Values 保持为空

Clo*_*der 5 c# routes web

我的路线代码如下所示:

 RouteTable.Routes.MapPageRoute("IDP", "Person/{IDP}", "~/Person.aspx")
Run Code Online (Sandbox Code Playgroud)

现在我想获取表单上的数据,通常它的工作原理如下:

int id = Convert.ToInt32(Page.RouteData.Values["IDP"]);
Run Code Online (Sandbox Code Playgroud)

但每次我尝试从路线获取数据时,例如:http://PC-81/SkillDatenbank/Person/1 我没有从值中获取数据(它是空的!)

我正在使用带有 Web 表单的 ASP.Net 4.5。编辑:我创建了一个新项目并进行了测试,但它也不起作用我做错了什么?在上一个项目中,它确实是这样工作的:(你能帮助我吗?

小智 4

以下代码对我有用,我已将其他路线移至该函数的顶部。

另外,在我的例子中,RedirectMode 已关闭,因为我在代码中使用 Jquery,并且为了使 Webmethod 正常工作,我已关闭 RedirectMode。

void RegisterRoutes(RouteCollection routes)
{
     /* ... additional routes */
    routes.MapPageRoute("","Person/{IDP}", "~/Person.aspx");

    var settings = new FriendlyUrlSettings();
    settings.AutoRedirectMode = RedirectMode.Permanent;
    routes.EnableFriendlyUrls(settings);

}
Run Code Online (Sandbox Code Playgroud)