asp.net mvc 获取路由参数

Zhang_Martin 2015-08-10 12:00:27
后台怎么获取url上面的值啊
比如: http://localhost/Home/Index/1
怎么获取后面那1啊
...全文
345 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
风云再起9310 2015-08-17
  • 打赏
  • 举报
回复
当处理一个输入请求时,路由系统的工作是将这个请求URL与一个模式进行匹配,然后从这个URL中为这个模式中定义的片段变量提取出相应的值。 例如:路由系统默认的路由模式了,这里的Id是可选的,也就是如果你请求URL(http://localhost/Home/Index/1)没有最后的那个1,同样可以匹配路由模式,并且路由系统中的片段变量controller 的值为"Home",片段变量action的值为"Index",可选片段变量id的值为1,
 routes.MapRoute(
               name: "Default",
              url: "{controller}/{action}/{id}",
              defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
如果你想获取最后那个1:方式有多种,例如1楼的那种方式,如果动作方法的参数为int类型,你会获取到是1,如果参数类型是string,你会获取到"1";第二种方式就是通过使用RouteData.Value属性,你可以在一个动作方法中访问任何一个片段变量;
   public ActionResult Index(string id)
        {
         //使用RouteData.Value属性获取片段变量的值
           ViewBag.variable =RouteData.Values["id"] ;
            return View();
        }
希望可以帮得到你
NewZhangXiaoLong 2015-08-17
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/391544100
NewZhangXiaoLong 2015-08-17
  • 打赏
  • 举报
回复
可以直接对actionResult 方法直接带参数
yang1216 2015-08-10
  • 打赏
  • 举报
回复
class HomeController{ public actionresult Index(int id)<--就是这个id }
guanyelong 2015-08-10
  • 打赏
  • 举报
回复
1L 正解。。。。。。
我现在在路上 2015-08-10
  • 打赏
  • 举报
回复
这个这直接获取参数: Request.Url.Query 你也可以看看Request.Url中的属性看你需要那个 也可以使用MVC的机制。

 public ActionResult Index(int? id)
        {
            if (Request.Url != null)
            {
                var idQuery = Request.Url.Query;
            }

            return View();
        }

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧