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

也可以取到。

有了这层认识,你会发现,MVC的大部分你想要的东西都可以从ViewContext中拿到

引用路径:http://www.cnblogs.com/leo_wl/p/3504050.html

时间: 2024-11-07 13:15:49

asp.net mvc 如何在View中获取Url参数的值的相关文章

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["i

JS中获取URL参数

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="/script/jquery-1.6.

js 获取url参数的值

//获取url参数函数function GetQueryString(name){    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); // match()方法可在 字符串内检索指定的值,或找到一个或多个正则表达式的匹配    var r = window.location.search.substr(1).match(reg);     if(r!=null){         

ASP.NET MVC如何在Action中返回脚本并执行

我们都知道在aspx页面的cs文件中只要用Respos.Write("<script></scritp>")就可以在前台执行脚本 但是在MVC中就不一样了,返回脚本要给定脚本类型返回.如果是使用js或者jq的ajax去请求可以直接使用毁掉函数来执行返回脚本,但如果给一个button或者一个a标签添加点击事件时并且要求后台可以返回并执行脚本,可以有一下几种情况. 第一,return Conten(("<script>alert('666')&

在回调中获取Url参数

var valueProvider = htmlHelper.ViewContext.Controller.ValueProvider; var id = valueProvider.GetOrDefault<long>("id");

js如何获取URl参数的值

代码如下: var id = null; var name = null; if (window.location.search.indexOf("&") == -1){//如果不存在"&" id=window.location.search.substring(window.location.search.indexOf("=")+1); }else{ var parms = window.location.search.sub

ASP.NET没有魔法——ASP.NET MVC Razor与View渲染

对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的界面呈现工作是由浏览器完成的,Web应用的原理是通过Http协议从服务器上获取到对应的Html代码以及相关资源,使得浏览器能够完成正确的呈现工作. ASP.NET MVC作为一个Web应用构建框架View承担了UI显示的功能,在开发过程中View以Action的名称命名,当用户的请求被路由到某一Action方法时,ASP.NET MVC将会根据Action的名称来获取到对应的V

MVC之前的那点事儿系列(9):MVC如何在Pipeline中接管请求的?(转载)

MVC之前的那点事儿系列(9):MVC如何在Pipeline中接管请求的? 文章内容 上个章节我们讲到了,可以在HttpModules初始化之前动态添加Route的方式来自定义自己的HttpHandler,最终接管请求的,那MVC是这么实现的么?本章节我们就来分析一下相关的MVC源码来验证一下我们的这个问题. 先创建一个MVC3的Web Application,选择默认的模板以便创建以后就默认包含HomeController和AccountController.我们知道MVC要先接管请求才能通过

Asp.Net MVC 4 Web API 中的安全认证-使用OAuth

Asp.Net MVC 4 Web API 中的安全认证-使用OAuth 各种语言实现的oauth认证: http://oauth.net/code/ 上一篇文章介绍了如何使用基本的http认证来实现asp.net web api的跨平台安全认证. 这里说明一个如何使用oauth实现的认证.oauth大家可能不陌生.那么这里需要注意的是我们使用的是.net平台一个比较好的开源oauth库. DOTNETOPENAUTH. 就像上图所示,我们需要一个ISSSUE Server来给我们一个token