asp.net mvc 在View中获取Url参数的值

如果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"]%>

也可以取到。

 

注:在用户控件中是无法直接访问到RouteData,RouteData是Page对象中的属性,

所以需要在用户控件中使用this.Page.RouteData来获取参数

使用this.Page.RouteData.Values["id"]来获取参数的值

posted @   大空白纸  阅读(350)  评论(1编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示