C# URL路由在ASP.Net MVC2中不起作用

C# URL路由在ASP.Net MVC2中不起作用,c#,asp.net-mvc,url-rewriting,asp.net-mvc-routing,url-routing,C#,Asp.net Mvc,Url Rewriting,Asp.net Mvc Routing,Url Routing,我正在使用ASP.NETMVC2应用程序。 在这方面,我使用了URL路由 获取URL作为 https://localhost/StudentDetail/SortField 我已经在Global.asax中编写了以下代码 routes.MapRoute( "StudentDetail", // Route name "StudentDetail/{SortField}", // URL with parameters new { controller = "UDashboard", a

我正在使用ASP.NETMVC2应用程序。 在这方面,我使用了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>
有人能帮我获取所需的URL吗

我想要的网址为

https://localhost/StudentDetail/SortField

提前谢谢你,Prashant

我认为你对路由工作原理的想法是错误的。您的路线:

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的值添加到操作中

应该行得通。@AbbasAmiri它对我行得通。这是一个完美的解决方案。
<a href="/StudentDetail/Major">Student Details</a>