0

我正在使用 ASP.Net MVC2 应用程序。因为我使用了 URL 路由

获取 URL 为

    https://localhost/StudentDetail/SortField

我在 Global.asax 中编写了以下代码

routes.MapRoute(
"StudentDetail", // Route name
"StudentDetail/{SortField}", // URL with parameters
new { controller = "UDashboard", action = "UAboutMeStudentDetails", 
     SortField = "Major" }
);

在我看来,链接如下

<a href="/StudentDetail?SortField='Major'" >Students</a>

但它不起作用。我的网址是

https://localhost/StudentDetail?SortField='Major'

谁能帮我获得所需的网址..?

我想要网址为

https://localhost/StudentDetail/SortField

提前致谢,普拉尚特

4

1 回答 1

1

我认为您对路由的工作方式有错误的想法。你的路线:

routes.MapRoute(
"StudentDetail", // Route name
"StudentDetail/{SortField}", // URL with parameters
new { controller = "UDashboard", action = "UAboutMeStudentDetails", 
     SortField = "Major" }
);

将采用 SortFeild 参数(Major、Gpa 等),并将 {SortField} 替换为该值。因此,使用以下操作链接:

@Html.ActionLink("Student Details", "UAboutMeStudentDetails", new {controller="UDashboard", SortField = "Major}) 

将产生以下 HTML

<a href="/StudentDetail/Major">Student Details</a>

请注意,SortField 的值已替换您路线中的 {SortField} 参数。您永远不会得到一个看起来像您所请求的 URL,因为您将如何将 SortField 的值用于操作?

于 2013-08-29T14:03:11.427 回答