You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC 5如何获取URL中status参数值?RouteData取值为空问题

解决方法

因为status=1是URL中的查询字符串参数,而非路由规则定义的路由参数,所以无法通过RouteData.Values获取,你可以用以下几种方式获取该值:

  • 直接通过Request.QueryString获取:
    @Request.QueryString["status"]
    
  • 简化写法,直接通过Request对象访问:
    @Request["status"]
    
  • 如果在控制器中,可通过模型绑定自动获取,给对应Action方法添加参数即可:
    public ActionResult Create(int id, int status)
    {
        // 直接使用status参数
        return View();
    }
    
    之后可通过ViewBag.Status传递到视图,或者将参数封装进视图模型,再在视图中访问模型属性。

补充说明:id=6能通过RouteData.Values获取,是因为它匹配了路由配置中的路由模板(比如默认的{controller}/{action}/{id}),被解析为路由参数;而status未在路由模板中定义,会被当作查询字符串参数,存储在Request.QueryString集合中。

内容的提问来源于stack exchange,提问作者post4dirk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 09:05:20