MVC - 调用函数而不更改页面

MVC - Call function without change pages

首先,我不得不说:我是 MVC 的新手,英语不是我的第一语言,所以我会尽力解释我自己。

在我的索引中有 3 个 select 标签,当所有 3 个都有不同的索引然后 0 加载部分视图。部分视图是一个 table,带有一堆 inputselect tags,由模型传递的数据填充。 用户应该能够更改标签中的值并按 "save" 按钮提交更改(将由存储过程保存)而无需重新加载任何内容。

当我尝试在没有 "change page" 的情况下执行此操作时出现问题。

我只想将按钮 "save" 与控制器上传递数据的方法连接起来。

控制器功能

    public void FUNCTIONCALLED(MODEL m)
    {    
        using (DBEntities data = new DBEntities ())
        {             
            data.STOREDPROCEDURE();
        }

    }

partialView.cshtml

@using (Html.BeginForm("FUNCTIONCALLED", "CONTROLLER"))
{   
    <div class="table-head">
        <table>
            <!-- input & select stuff here -->
        </table>
    </div>
    <div style="clear: both;">
        <button type="submit" class="btn btn-primary">Salva</button> 
    </div>
}

感谢您的帮助。

编辑:如果我删除表单并使用 ajax 调用,我会得到错误消息:String too long

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

你必须使用这样的 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>