如何从URL中获取视图中的当前路由ID(ASP.NET MVC)

JMS*_*JMS 76 asp.net-mvc

在从/ Controller/Action/1等URL返回的视图中(假设controller/action/id的默认路由),如何从View中访问ID?

我不想在处理请求时将其添加到操作级别的ViewData字典中.

Fra*_*sco 177

我想这就是你要找的东西:

<%=Url.RequestContext.RouteData.Values["id"]%>
Run Code Online (Sandbox Code Playgroud)


Cod*_*nis 15

ViewData正是这样做的正确方法.

您的另一个选择是将包含ID的模型传递给视图.

编辑:如果不确切地知道你要做什么,很难给出更具体的建议.为什么需要ID,而不是任何其他模型数据?您的控制器真的只是将Id字段发送到视图吗?很难想象这个场景是什么.

如果ID值确实是传递给视图的唯一模型信息,那么您可以使用ID本身作为模型.然后,您的操作方法的返回值将是View(id),您将不需要使用ViewData.