编辑模型并将其发布到Controller

时间:2015-07-24 09:02:18

标签: asp.net view model

我有一个具有10种不同属性的模型,我想在网格中编辑数据现在当我单击“编辑”时它会打开一个模态编辑窗口。 但是,如何将编辑过的模型传递给动作而不仅仅是2个属性

public class Bestellungen
{
    public virtual int BID { get; set; }
    public virtual int UID { get; set; }
    public virtual int PID { get; set; }
    public virtual int Shop_SID { get; set; }
    public virtual string er { get; set; }
    public virtual string cker { get; set; }
    public virtual float ten { get; set; }
    public virtual float en { get; set; }
    public virtual Boolean ueck { get; set; }
    public virtual DateTime Datum { get; set; }
}

在我的部分视图表单中编辑以下属性中的2个:

        <form id="FormId" style="padding: 20px">
            <div class="form-group">
                <label class="sr-only" for="form-cker">cker</label>
                @Html.TextAreaFor(model => model.cker, new { @cols = "40", @rows = "3", @id = "form-cker" })
            </div>
            <div class="form-group">
                <label class="sr-only" for="form-er">er</label>
                @Html.TextAreaFor(model => model.er, new { @cols = "40", @rows = "3", @id = "er" })
            </div>
            <button type="submit" id="approve-btn" class="btn btn-danger">          save</button>
            <button type="button" class="btn btn-default" data-dismiss="modal">      canncel</button>
        </form>
    </div>
</div>

<script>
    $(document).ready(function () {
        $("#approve-btn").on("click", function () {
            $.ajax({
                url: "/Home/edit",
                type: "POST",
                data: $('#FormId').serialize()
            })
            .done(function (partialViewResult) {
                $("#partial").html(partialViewResult);
                $('#modal-container').modal('hide');
            });
        });
    });
</script>

1 个答案:

答案 0 :(得分:0)

我认为,您可以将序列化的“大”表单与data: $('#FormId').serialize()合并。但这不是美丽的解决方案。这是一个拐杖。好主意是在控制器中创建另一个动作,只保存这两个字段。这样做怎么样?