如果url是 /home/index?id=3 直接Request就ok。
但是如果路由設定為:{controller}/{action}/{id}?
url是 /home/index/3???
這時想在頁面View中獲取參數id的值,該怎么獲取?
?
查了下資料好多人都利用Action獲取到參數值后,用Viewdata傳到View中
例如
Controlers中的phonelist這樣定義??
public ActionResult phonelist(int id)??
? {??
? ViewData["id"] = id; ??
? return View();??
? }??
其實,沒有必要,只要在view中這樣獲取就可以:
<%=Html.ViewContext.RouteData.Values["id"]%>
就算沒有id的參數也不會報錯。
?
同樣:<%=Request.RequestContext.RouteData.Values["id"] %>和
<%=Html.ViewContext.RouteData.Route.GetRouteData(Html.ViewContext.HttpContext).Values["id"]%>
也可以取到。
?
有了這層認識,你會發現,MVC的大部分你想要的東西都可以從ViewContext中拿到
引用路徑:http://www.cnblogs.com/leo_wl/p/3504050.html