Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms MVC-无需更改页面即可调用函数_Forms_Post_Model View Controller_Actioncontroller - Fatal编程技术网

Forms MVC-无需更改页面即可调用函数

Forms MVC-无需更改页面即可调用函数,forms,post,model-view-controller,actioncontroller,Forms,Post,Model View Controller,Actioncontroller,首先,我必须说:我是MVC新手,英语不是我的第一语言,所以我会尽可能地解释我自己 在我的索引中有3个选择标记,当所有3个都有不同的索引时,将加载一个局部视图。部分视图是一个包含大量输入和选择标记的表,由模型传递的数据填充。 用户应该能够更改标记中的值,并按“保存”按钮提交更改(将由存储过程保存),而无需重新加载任何内容 当我尝试在没有“更改页面”的情况下执行此操作时,问题就出现了 我只想将“保存”按钮与传递数据的控制器上的方法连接起来 控制器功能 partialView.cshtml @使用(H

首先,我必须说:我是MVC新手,英语不是我的第一语言,所以我会尽可能地解释我自己

在我的索引中有3个选择标记,当所有3个都有不同的索引时,将加载一个局部视图。部分视图是一个包含大量输入和选择标记的表,由模型传递的数据填充。 用户应该能够更改标记中的值,并按“保存”按钮提交更改(将由存储过程保存),而无需重新加载任何内容

当我尝试在没有“更改页面”的情况下执行此操作时,问题就出现了

我只想将“保存”按钮与传递数据的控制器上的方法连接起来

控制器功能

partialView.cshtml

@使用(Html.BeginForm(“FUNCTIONCALLED”、“CONTROLLER”))
{   
萨尔瓦
}
谢谢你的帮助


编辑:如果我删除表单并使用ajax调用,我会收到错误:
字符串太长

输入类型提交将表单发送到服务器并重新加载页面

您必须像这样使用ajax方法:

function Save()
{
    $.ajax({
        url: "@Url.Action("MyMethode", "MyController")",
        type: "POST",
        contentType: "application/json",
        data: JSON.stringify({ MyMethodeParam : $("#MyInputID").val() })
        }).done(function (data) {
            if (data == true)
            {
                alert("Save success");
            }
            else alert("Save error");
        }).fail(function () {
            alect("Ajax Fail");
        });
}
删除您的表单并在按钮中单击使用,如

<button type="button" class="btn btn-primary" onClick="save();">Save</button> 
保存

这是我以前的解决方案,但是数据量非常大,并且动态变化,因此我得到了错误:
生成的字符串太长。
有没有办法使用多个ajax调用拆分表单的内容?
function Save()
{
    $.ajax({
        url: "@Url.Action("MyMethode", "MyController")",
        type: "POST",
        contentType: "application/json",
        data: JSON.stringify({ MyMethodeParam : $("#MyInputID").val() })
        }).done(function (data) {
            if (data == true)
            {
                alert("Save success");
            }
            else alert("Save error");
        }).fail(function () {
            alect("Ajax Fail");
        });
}
<button type="button" class="btn btn-primary" onClick="save();">Save</button>