[英]how to bind a MVC model with ajax call?
我想用 ajax 调用绑定一个 MVC 模型,并想在局部视图中使用 onclick 事件调用一个 JS 函数,但是有一个错误,bulkconfirm() 没有定义,以及我如何用 ajax 调用绑定模型基本上这是我的部分视图,当用户单击确认按钮时,应调用此单击 bulkconfrim() 函数? 谢谢
@model Manual_Tag_Entry.ViewModel.ModelAccessor
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Do you want to update following information?</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<form id="test">
<table class="table table-striped table-bordered" width="80%">
<thead>
<tr>
<th>Tag Name</th>
<th>Tag Old Value</th>
<th>Tag New Value</th>
</tr>
</thead>
<tbody>
@if (Model.updatedDatas != null)
{
foreach (var item in Model.updatedDatas)
{
<tr>
<td>
@item.TagName
</td>
<td>
@item.OldTagValue
</td>
<td>
@item.NewTagValue
</td>
</tr>
}
}
</tbody>
</table>
</form>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" onclick="BulkConfirm()">Confirm Update</button>
</div>
@section script{
<script>
function BulkConfirm()
{
debugger;
var data=@Model.updatedDatas;
$.ajax({
type: 'POST', //GET
url: '@Url.Action("BulkUpdateConfirmation", "Home")',
data: data
});
$("#myModal").modal('hide')
}
</script>
}
您需要使用Html Helpers
将您的视图模型转换为 Javascript 对象:
var obj = @Html.Raw(Json.Encode(Model));
在这里你可以看到确切的解决方案: https : //stackoverflow.com/a/16361388/4687359
要添加 A. Nadjar 的答案,在您的视图中,将视图中的 for each 循环更改为 for 循环,并为列表中的每个属性使用 HTML Helpers DisplayFor和HiddenFor。
for (var i = 0; i < Model.updatedDatas.Count; i++)
{
<tr>
<td>
@Html.DisplayFor(modelitem => modelitem.updatedDatas[i].TagName)
@Html.HiddenFor(modelitem => modelitem.updatedDatas[i].TagName)
</td>
</tr>
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.