如何从razor </model>修改List <model>项目

时间:2013-09-30 12:39:04

标签: c# asp.net-mvc asp.net-mvc-3 razor

我有一个RAZOR(ASP.NET MVC 3)和一个List类型的模型。 我想修改从Model到Razor的任何元素,之后发布完全相同的模型BUT,用任何值MODIFIED(如果它被修改)更新。

        @foreach (var item in Model)
        {
        <tr> 
            <td>@Html.DisplayFor(modelItem => item.InputID)</td>

            @if (@ViewBag.editFlag)
            {
                <td>@Html.TextBoxFor(modelItem => item.InputName)</td>
            }
            else
            {
                <td>@Html.DisplayFor(modelItem => item.InputName)</td>
            }  
        }

。我希望为AJAX CALL保存相同的模型,但如果它经历了一些更改则修改

我的ajax电话:

      $("#editButton").click(function () {
       $.ajax({
             type: "POST",
                url: "@Url.Content("~/PhysicalInput/UpdatePhysicalInput")",
                data: { 
                    jsonData: @Html.Raw(Json.Encode(@Model));  
                },
                cache: false,
                success: function (html) 
                {
                    if (html.Success) 
                    {
                         window.location.href="ViewList?editFlag=false";
                    }
                    else { }
                },
                error: function(e) {  }
        });

由于

1 个答案:

答案 0 :(得分:0)

您所拥有的只是将原始模型发布回服务器。如果您没有大型模型,则需要将数据行更改为:

data: { field1: $('.field1').val(), field2: $('.field2').val(), etc }

这会将这些字段的当前值发送回您的操作。 只需注意,您可以用以下内容替换您的Url.Content:

@Url.Action(Action, Controller) 

或在你的情况下:

@Url.Action("UpdatePhysicalInput", "PhysicalInput")

写一点清洁,使添加其他参数变得更容易。