在视图中获取路由{id}值?

时间:2013-02-21 02:07:03

标签: asp.net-mvc-3 asp.net-mvc-viewmodel

我知道我是否有像/controller/action/{id}这样的东西我可以将id作为函数参数访问。但是如何在不使用viewbag的情况下通过视图访问它?

3 个答案:

答案 0 :(得分:2)

您可以将该函数参数作为模型的一部分传递给View。该模型可以是静态或动态类型的。下面的示例代码演示了如何将值作为动态模型上的属性传递。

public ActionResult Edit(string id)
{
    dynamic model = new System.Dynamic.ExpandoObject();
    model.Id = id;
    return View(model);

}

您可以在视图中访问此值,如下所示:

@Model.Id

答案 1 :(得分:0)

您可以在视图中解析URL以获取ID:

var id = Request.Url.LocalPath.SubString(LastIndexOf("/",Request.Url.LocalPath)+1);

答案 2 :(得分:0)

它会直接放入ViewBag.id,您也可以通过ViewData["id"]访问它。嘿,好像是同一个对象