我正在使用ASP.Net MVC2应用程序。 因为我使用了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
先谢谢Prashant
答案 0 :(得分:1)
我认为你对路由的工作原理有不正确的想法。你的路线:
routes.MapRoute(
"StudentDetail", // Route name
"StudentDetail/{SortField}", // URL with parameters
new { controller = "UDashboard", action = "UAboutMeStudentDetails",
SortField = "Major" }
);
将采用SortFeild参数(Major,Gpa等),并将{SortField}替换为该值。因此,使用以下actionlink:
@Html.ActionLink("Student Details", "UAboutMeStudentDetails", new {controller="UDashboard", SortField = "Major})
将生成以下HTML
<a href="/StudentDetail/Major">Student Details</a>
请注意,SortField的值已替换路线中的{SortField}参数。你永远不会得到一个看起来像你要求的URL,你将如何获得SortField的值?