C# 如何使用带有斜杠的Html.ActionLink而不是问号生成URL

C# 如何使用带有斜杠的Html.ActionLink而不是问号生成URL,c#,razor,routing,asp.net-mvc-5,C#,Razor,Routing,Asp.net Mvc 5,我正在尝试用正斜杠生成URL,如下所示 @Html.ActionLink("Details", "Details", new { id = item.StudentID, name = item.FirstName }) 所需结果: http://www.example.com/Students/Details/3/ttcg http://www.example.com/Students/Details/4/john http://www.example.com/Students/Detai

我正在尝试用正斜杠生成URL,如下所示

@Html.ActionLink("Details", "Details", new { id = item.StudentID, name = item.FirstName }) 
所需结果:

http://www.example.com/Students/Details/3/ttcg
http://www.example.com/Students/Details/4/john
http://www.example.com/Students/Details/5/ronaldo
http://www.example.com/Students/Details/3?name=ttcg
当前结果:

http://www.example.com/Students/Details/3/ttcg
http://www.example.com/Students/Details/4/john
http://www.example.com/Students/Details/5/ronaldo
http://www.example.com/Students/Details/3?name=ttcg
使用RouteAttribute的控制器操作

[Route("Students/Details/{id}/{name?}")]
    public ActionResult Details(int? id, string name)
    {
        if (id.HasValue == false)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }
        Student student = _studentService.GetDetail(id.Value);
        if (student == null)
        {
            return HttpNotFound();
        }
        student.FirstName += name;
        return View(student);
    }
目前,我使用此代码作弊以获得所需的结果

<a href="Students/Details/@item.StudentID/@item.FirstName" >Details</a>

有没有更好的方法来生成我想要的url


根据这篇文章,我是否必须在RouteConfig文件中添加新路由?这是否意味着RouteAttribute不支持这种URL生成?

在RouteConfig.cs中启用属性路由

routes.MapMvcAttributeRoutes();

添加此选项后,您将获得所需的结果。

在RouteConfig.cs中启用属性路由

<a href="Students/Details/@item.StudentID/@item.FirstName" >Details</a>
routes.MapMvcAttributeRoutes();

添加此选项后,您将获得所需的结果。

在更改RouteConfig.cs后不起作用?我尚未更改RouteConfig.cs。但我想在做之前确定一下。由于我已经在使用RouteAttribute,我不想在RouteConfig.cs中再次声明它。您可以更改routes.MapRoute并重试,无论它是否工作。更改RouteConfig.cs后是否工作?我尚未更改RouteConfig.cs。但我想在做之前确定一下。因为我已经在使用RouteAttribute,所以我不想在RouteConfig.cs中再次声明它。您可以更改routes.MapRoute并重试,无论它是否工作。
<a href="Students/Details/@item.StudentID/@item.FirstName" >Details</a>