如何从剃须刀修改列表<模型>项目
本文关键字:模型 项目 列表 修改 剃须刀 | 更新日期: 2023-09-27 18:33:28
我有一个RAZOR(ASP.NET MVC 3)和一个类型为List的模型。我想将模型中的任何元素修改为 Razor,然后发布完全相同的模型,但要使用任何值 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保存相同的模型,但如果它经历了一些更改,则对其进行修改
还有我的阿贾克斯电话:
$("#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) { }
});
谢谢
您所拥有的只是将原始模型发布回服务器。如果您没有大型模型,则需要将数据行更改为:
data: { field1: $('.field1').val(), field2: $('.field2').val(), etc }
这会将这些字段的当前值发送回您的操作。只需注意一下,您可以将您的 Url.Content 替换为:
@Url.Action(Action, Controller)
或者在您的情况下:
@Url.Action("UpdatePhysicalInput", "PhysicalInput")
编写起来更简洁一些,并且更容易添加其他参数。