asp.net mvc 传参和视图赋值

传参分为:

1.路由传参

2.“问号?”传参

3.表单form传参

4.通过route特性路由传参

 

1.路由传参

视图传参代码:

路由传值

控制器代码: 

        public ActionResult ChuanZhi_LuYou()
        {
            /*
             * =========【取值方法一(获取路由信息)】=========
             * RouteData.Values["id"]
             * RouteData.Values["变量"] 获取路由信息
             * */


            /*
             *  ViewData["Request_id"]
             *  ViewBag.Request_id (动态类型)
             *  向视图传递参数有ViewData["变量"]和ViewBag."变量"两种
            * */

            ViewBag.RouteData_Values_id = RouteData.Values["id"].ToString();
            return View();
        }

 视图取参代码:

    

路由传值

[email protected]_Values_id

 

2.“问号?”传参

视图传参代码:

  • ?传值
  • 控制器代码: 

      public ActionResult ChuanZhi_WenHao()
            {
                /*
                 * =========【取值方法二(获取"?"问号传参)】=========
                 * Request["id"].ToString();
                 * Request["变量"]取值方式可以获取get和post两种
                 * =========【取值方法三(获取"?"问号传参)】=========
                 * Request.QueryString["id"]
                 * */
    
                /*
                 *  ViewData["Request_id"]
                 *  ViewBag.Request_id (动态类型)
                 *  向视图传递参数有ViewData["变量"]和ViewBag."变量"两种
                * */
    
    
                ViewData["Request_id"] = Request["id"].ToString();
                ViewBag.Request_id = Request["id"].ToString();
    
                ViewData["Request_QueryString_id"] = Request.QueryString["id"];
                ViewBag.Request_QueryString_id = Request.QueryString["id"];
                return View();
            }

    视图取参代码:

        

    ?传值

    ViewData["Request_id"]=@ViewData["Request_id"]
    [email protected]_id
    ViewData["Request_QueryString_id"]=@ViewData["Request_QueryString_id"]
    [email protected]_QueryString_id

     

    3.表单form传参

    视图传参代码:

    form 传值

    用户名:
    密码:

    控制器代码: 

            public ActionResult ChuanZhi_BiaoDan()
            {
    
                /*
                 *  ViewData["Request_id"]
                 *  ViewBag.Request_id (动态类型)
                 *  向视图传递参数有ViewData["变量"]和ViewBag."变量"两种
                * */
    
                ViewBag.UserName = Request["UserName"].ToString();
                ViewBag.UserPassword= Request["UserPassword"].ToString();
                return View();
            }

    视图取参代码:

        

    form 传值

    [email protected]
    [email protected]

     

     

    4.通过route特性路由传参

            #region ==============通过route特性路由传参=============== 
    
            /*【必须】启用路由特性映射
             * MVC5可以通过路由配置文件(App_Start/RouteConfig.cs)增加下面代码
             * routes.MapMvcAttributeRoutes();
            */
    
            /// 
            /// 通过route特性路由传参[string]
            /// 访问:http://localhost:53676/ChuanZhi/c_string/xiaoming
            /// 
            /// 
            [Route("ChuanZhi/c_string/{name}")]
            public string ceshi_string(string name)
            {
                string status = string.Empty;
                status = name;
                return status;
            }
    
            /// 
            /// 通过route特性路由传参[int] 参数不可空
            /// 访问:http://localhost:53676/ChuanZhi/c_int/1
            /// 
            /// 
            [Route("ChuanZhi/c_int/{proid:int}")]
            public string ceshi_int(int proid)
            {
                int sum=proid+proid;
                return $"{proid}+{proid}={sum}";
            }
    
            /// 
            /// 通过route特性路由传参[int] 参数可空
            /// 访问:http://localhost:53676/ChuanZhi/c_int/1
            /// 
            /// 
            [Route("ChuanZhi/c_int2/{proid?}")]
            public string ceshi_int2(int proid=1)
            {
                int sum=proid+proid;
                return $"{proid}+{proid}={sum}";
            }
            #endregion

     

     

     

     


     

    视图赋值

    向视图传递参数有ViewData["变量"]和ViewBag."变量"两种。

    例如上面的ViewData["Request_id"]和ViewBag.Request_id,无论是双引号(“”)里的Request_id还是(.)后面的Request_id都是自定义的。最规范的命名方式是根据参数命名。

                /*
                 *  ViewData["Request_id"]
                 *  ViewBag.Request_id (动态类型)
                 *  向视图传递参数有ViewData["变量"]和ViewBag."变量"两种
                * */

    你可能感兴趣的:(asp.net,mvc)