当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET MVC View向Controller提交数据

ASP.NET MVC View向Controller提交数据

2018年02月07日  | 移动技术网IT编程  | 我要评论

pvc 地板,论坛贴图,毛岸英全集

我们知道使用MVC的一个很重的的用途就是把Controller和View之间进行解耦,通过控制器来调用不同的视图,这就注定了Controller和View之间的传值是一个很重的知识点,这篇博文主要解释一下View向Controller提交数据的几种形式,认识有限,有不足的地方请各位博友能够给完善。


一、通过Json数据


方法一:使用$.getJSON


    //方式一:根据页码 异步请求 数据
    function loadPageList(pageIndex) {
        $.getJSON("/Stu/List/" + pageIndex, null, function (jsonData) {
            if (jsonData.Statu == "ok") {
                $("#tbList tr:gt(0)").remove();
                $("#trTemp").tmpl(jsonData.Data.PagedData).appendTo("#tbList");
                //生成页码条
                makePageBar(loadPageList, document.getElementById("pageBar"), jsonData.Data.PageIndex, jsonData.Data.PageCount, 2, jsonData.Data.RowCount);
            }
        });
    }

方法二:使用$.get


    //方式二:根据页码 异步请求 数据
    function loadPageList(pageIndex) {

        $.get("/Stu/List/" + pageIndex, null, function (jsonData) {
            if (jsonData.Statu == "ok") {
                $("#tbList tr:gt(0)").remove();
                $("#trTemp").tmpl(jsonData.Data.PagedData).appendTo("#tbList");
                //生成页码条
                makePageBar(loadPageList, document.getElementById("pageBar"), jsonData.Data.PageIndex, jsonData.Data.PageCount, 2, jsonData.Data.RowCount);
            }
        }, "json");        

    }

上面这两种方式的到的结果是没有区别的,如果使用$.getJSON,相当于直接指明传递的数据为Json格式;如果使用$.get,则需要在最后加上参数类型"json"即可。

二、通过From表单


方法一:使用Ajax.BeginForm

        
        

@using (Ajax.BeginForm("Add", new AjaxOptions() { OnSuccess = "afterAdd" })) { 系列名称: @Html.TextBox("SerialName") }

其中,"Add"是该表单要提交到的Action的名字,OnSuccess="afterAdd"是该表单提交后要执行的js事件,然后再js代码中编写让表单提交的命令即可。

//让表单提交
       $("#addDiv form").submit();

方法二:使用

        
        

然后,使用easyui的jquery提交如下:

        $('#ff').form('submit', {
            url: "/NotifyManage/ImportWord/",
            onSubmit: function () {
                // do some check
                // return false to prevent submit;
            },
            success: function (data) {

                $("#importDiv").dialog("close");
            }
        });

三、通过String字符串


方法一:提交单个字符串

        function Delete(index) {
           
            var id = $('#tt').datagrid("getRows")[index].ID;   

            $.messager.confirm('确认', '您确定要删除?', function (r) {
                if (r) {
                    $.post("/Administrator/Del"+id, function (data) {
                        if (data == "ok") {
                            //刷新表格,去掉选中状态的 那些行。
                            $('#tt').datagrid("reload");
                            $('#tt').datagrid("clearSelections");
                        } else {
                            $.messager.alert("删除失败~~", data);
                        }
                    });
                }
            });
        }

方法二:提交多个字符串

            //确认设置互评信息按钮事件
            function OK() {
                //①取得权重的值ID        
                var weightID = $('#cc').combobox('getValue');
               
                //②获取评论人ID
                var rows = $('#left').datagrid("getRows");               
                var evaluaterIDs = "";
                for (var i = 0; i 
提交字符串实际上是根据路由地址中的格式匹配的,提交的格式要和路由中设置的保持一致。

总结:

刚接触这部分内容的时候,感觉很凌乱,总结粘贴复制别人的代码,在学习的过程中遇到不会的知识点通过查询easyui帮助文档或者自己思考去解决,思路一点一点的清晰,答案也就一步一步地出来了。有一点感触就是,还是在项目中学习到的东西比较牢靠,因为有亲自动手去实践,动脑去思考;同时,在项目中也培养了我们的细心和耐心,在解决问题中渐渐成长。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网