码迷,mamicode.com
首页 > Web开发 > 详细

MVC5学习笔记——视图与控制器传值的几种方法

时间:2014-12-17 06:57:06      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:mvc5 视图 控制器 传值

一、页面取值传给控制器

1、表单传值----利用Action


视图页:
        <form action="方法名" method="post">
            <label for="content">值内容</label>
            <input type="text"  name="bdzhi" id="content" /><br />
            <input type="submit" value="表单传值">
        </form>
   控制器:
         public ActionResult 方法名(FormCollection fc)
        {
            ViewBag.message = fc["bdzhi"];
            return View();
        }
        这里是通过ViewBag返回页面

         public ActionResult 方法名()
        {
            ViewBag.message =Request.Form["bdzhi"];
            return View();
        }


2、AJAX传值

    <div>
        <h2>AJAX传值</h2>
        <span id="sex"></span><br />
        <input type="radio" name="sexs" checked="checked" value="男">男     <input type="radio" name="sexs" value="女">女<br />
        <input type="button" value="提交" id="bt">
        <script>
            //提交按钮绑定点击事件
            $("#bt").on(‘click‘, function () {
                //获取选中的radio选项的值
                var value = $("input[type=radio]:checked").val()
                //后台通过Request.Form["value"]可以取到
                params = "value=" + value;
                $.ajax({
                    //post方法传值
                    type: "POST",
                    url: "/xuexi/xingbie",
                    data: params,
                    success: function (data) {
                        //清空id=sex的span标签里的内容
                        $("#sex").empty();
                        //将后台返回的数据添加到span标签里
                        $("#sex").append(data);
                    }
                })
            })
        </script>
    </div>        
        控制器:        
        public string xingbie(string sex)
        {
            sex = "您的性别是" + Request.Form["value"];
            return sex;
        }



二、控制器返回页面

1、使用ViewBag(视图包)传递数据

         控制器中:ViewBag.属性="任意";

         页面中:   @ViewBag.属性

         属性可以随便填写!!!

例如:

控制器中方法:

        public ActionResult 方法()

        {

            ViewBag.message ="哈哈哈";

            return View();

        }

页面中即可直接使用:

        <span>@ViewBag.message</span>

2、使用View Data传递数据

         控制器中:ViewData["随意起"]="任意";

         页面中:   @ViewData["随意起"]

使用方法同上

3、使用TempData传递数据

         控制器中:TempData["随意起"]="任意";

         页面中:   @TempData["随意起"]

使用方法同上

        注意!TempData的值在取了一次后则会自动删除刷新页面,则TempData[""]为Null

只是据说哈~~我没试验过,你们可以试验下告诉我!!

4、提供视图模型对象

控制器中:

             public ViewResult Index()  
            {  
            DateTime date = DateTime.Now;  
                return View(date);  
            }
   视图:
            @model DateTime 
            @{  
                 ViewBag.Title = "Index";  
               }  
            <h2>Index</h2> 
            今天是: @Model.DayOfWeek

本文出自 “咕咚一声” 博客,请务必保留此出处http://gudongyisheng.blog.51cto.com/8032088/1590798

MVC5学习笔记——视图与控制器传值的几种方法

标签:mvc5 视图 控制器 传值

原文地址:http://gudongyisheng.blog.51cto.com/8032088/1590798

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!