• MVC 视图与控制器传值的几种方法


    一、页面取值传给控制器

     

    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
  • 相关阅读:
    U盘复制文件到最后5秒会卡住怎么办解决
    解决PuTTY中文乱码
    NSA Fuzzbunch中EternalRomance工具复现过程
    VirtualBox修改现有VDI虚拟磁盘大小
    高危Windows系统 SMB/RDP远程命令执行漏洞 手工修复办法
    数据库页已标记为 RestorePending,可能表明磁盘已损坏。要从此状态恢复,请执行还原操作。
    用Partimage创建或恢复分区备份
    IIS7保存配置文件及导入、导出、备份、还原
    WINDOWS SERVER 2008远程桌面端口修改方法
    谷歌启用抓取JavaScript,应对方案!
  • 原文地址:https://www.cnblogs.com/bruceli-net/p/6169546.html
Copyright © 2020-2023  润新知