zoukankan      html  css  js  c++  java
  • MVC 从View像Controller中传值

           在上一篇博客中总结了一下从Controller像View中传值的几种方法。事实上看那些方法和在我们最初学习VB的时候一样,将数据库中的数据显示到前台的页面。数据库还是那个数据库,仅仅是如今前台变成了浏览器。传值的形式发生了变化。从View像Controller中传值有非常多种方法,仅仅简单的说明一下自己使用过的。

    使用Form

          使用Form提交的方法有非常多种,先结合上次博客中使用Model从Controller向View中传值

    一般形式的form

    在View中

    @*自定义的详细要使用的viewModel*@
    @modelTalentServiceCenterFileManage.ViewModel.FileWagesViewModel
     
    //将表单使用post的方法提交。调用的是action中缩写的路径方法。这和之前学过的没有区别
    <form method="post"action="/FileWages/AddFileWagesInfo"> 
       <tablewidth="84%" border="0" cellpadding="0"cellspacing="0">
          <tr>
             <td>@Html.TextBoxFor(a => a.kindOfSalaryOld)</td>       
    //这里的a就是上面自定义的model的类型,这样在textBox中显示的就是对于的kindOfSalaryOld这个属性的值,而这个值是从Controller中传来的
             <td>@Html.TextBoxFor(a => a.kindOfSalary)</td>
          </tr>
    <input type="submit"value="保存" /> //注意这里的控件,当单击时触发post提交方式
       </table>
     

            当中form的action中写的是要接受数据的Controller和要使用的当中的方法。当单机submitbutton时,整个表单以post的方式提交。

    在Controller中

    [HttpPost]//假设有post请求就运行这里的代码
     
    //当中的參数就是从View中传回来的,它的属性值就是用户在文本框中填写的内容
    public ActionResultAddFileWagesInfo(FileWagesViewModel addFileWagesEntity)
    {
             //写详细的用法,就能够直接和后台交互
    }

    使用BeginForm

    在view中

    <span style="font-size:14px;"> <div id="import"  padding-top: 10px">
            @using (Html.BeginForm("Import", FormMethod.Post, new { id = "fmImport", enctype = "multipart/form-data" }))
            {
                 
                <input type="text" id="txtModify">
            }
     </div></span>

             当中的“Import”是要调用的方法,“FileWages”是要调用的Controller的名字,FormMethod.Post是form提交的方式。new{}里定义的是HTML的特性设置,能够F12定位有对应的方法解释。

             假设要触发表单的提交,能够再js中控制,调用Import方法。

           function Import() {                                                                                                      window.location.href = '@Url.Action("AddFileWagesInfo", "FileWages")?<span style="font-size: 14px; font-family: Arial, Helvetica, sans-serif;">txtModify</span>='+document.getElementById('#txtModify').value;                              }
             以上将在text中输入的内容以URL的方式传到Controller中。


    使用Ajax

    在View中

    <span style="font-size:14px;">function UpdateNews()
           {
               var date = $('#test').datagrid("getChecked");//结合EasyUI,目的是获得选中项
               var strKey = [];
               $.each(date, function (index, item) {
                    strKey.push(item.basicInformationNumber//将选中项的basicInformationNumber属性的值加入到定义的数组中
               })
                                         console.log(strKey.join(","));//切割数组中的内容
                             //将他们作为值提交
                    var Showurl = '/FileWages/ShowInfo?showId='+ strKey;
                                //使用ajax进行提交
                    $.ajax({
                        type: "POST",
                        dataType: 'json',
                        url: Showurl,//传递URL的地址
                        success: function (msg) {
                            if (msg.success) {
                                alert("删除成功");
                            }
                            else {
                                alert('删除失败。请联系管理员。',msg.errorMsg);
                            }
                        }
                    });
               }
           }</span>

    在Controller中

    <span style="font-size:14px;">public ActionResult DelFileWagesInfo()
    {
             stringstrSrchKey = Request.QueryString["DelID"].ToString();//这是我们之前非常熟悉的方法
    }</span>

    小结

             事实上自己总结的内容网上都能查到。可是那都是别人的东西,不能由于别人写了自己就不写了。那知识永远都不会是你自己的。今天开师徒会说道这样一种情况:遇到一个问题。自己记得非常清楚原来解决过,然后就開始找自己原来的笔记、博客,非常无奈的是发现自己没有做记录,然后由開始从网上找资料,这样效率比較低,并且由于没有总结所以自己脑子里是没有深刻印象的。当又一次遇到的时候仅仅能在查。

            所以总结一定要时时的做。不要小瞧当初解决那个问题的办法有多简单。让它变成自己的!

  • 相关阅读:
    力扣338. 比特位计数
    力扣22. 括号生成
    力扣46. 全排列
    力扣461. 汉明距离
    力扣617. 合并二叉树
    zabbix环境搭建部署(一)
    cacti,zabbix,nagios各自原理及区别
    两个硬盘对拷图解
    自动化运维之SaltStack实践
    nginx配置ssl证书
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/6984590.html
Copyright © 2011-2022 走看看