如何从视图页面中的/ controller / action / id获取id?

时间:2010-09-22 14:20:49

标签: c# asp.net asp.net-mvc

从视图页面内部,如何在不从模型中获取此数据的情况下从url / controller / action / id引用id?

3 个答案:

答案 0 :(得分:8)

您可以尝试使用viewContext:

<% =ViewContext.RouteData.Values["id"] %>

如果你把它放在控制器中的viewdata中,你仍然可以通过ViewData [“id”]得到它,但如果这样做,你也可以把它放在模型中。

你真的应该从模型中得到它,因为之前的选项对我来说似乎是一种代码味道。

答案 1 :(得分:0)

您可以使用RouteData,但不应该使用。

MVC的整个结构表示请求将路由到特定控制器上的特定操作。然后控制器将返回一个视图,视图不再访问url参数。

如果您想访问该ID,您应将其放入视图模型或查看数据并访问该视图中的数据。

public ActionResult YourAction(int id)
{
    ViewData["id"] = id;

    return View("MyView");
}

然后在视图中......

<%= ViewData["id"] %>

答案 2 :(得分:-1)

您可以通过ViewData

将ID传递到视图中
ViewData["id"] = id;

然后在视图中,您可以调用此ViewData["id"]来提取您的值