在我的MVC应用程序中,我有一个可以单击的按钮,该按钮会触发bootstrap 4 modal(局部视图)。使用Ajax会调用一个控制器以返回模型数据,以供视图填充一些文本框。尽管在弹出模式对话框时ajax调用成功运行,但所有字段均为空。
这是我的代码。这是单击按钮时运行的功能:
editTab功能
function editTab(id) {
if (id != undefined) {
$.ajax({
type: "GET",
url: "/Positions/_TabsEdit/" + id,
success: function (responseData) {
console.log("Successfully GOT TabEdit data.");
console.log(responseData)
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR.status);
console.log(textStatus);
console.log(errorThrown);
}
});
} else {
//whatever
}
}
这是我的视图,局部视图就位。
Index.cshtml
<div class="card">
<div class="card-body">
<button id="modal" data-toggle="modal" data-target="#modal_editTabs">Triggers Bootstrap Modal</button>
</div>
</div>
@Html.Partial("_TabsEdit")
PartialView
@model MyProject.Models.Tab
<div class="modal fade" id="modal_editTabs" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-xl">
<div class="modal-content">
<!-- Modal Header -->
<div class="modal-header">
<h4 class="modal-title">@ViewBag.Title</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<!-- Modal body -->
<div class="modal-body">
@Html.DisplayFor(m => m.Id)
@Html.DisplayFor(m => m.TabName)
</div>
</div>
</div>
</div>
控制器
public ActionResult _TabsEdit(int Id)
{
Tab tab = unitOfWork.TabRepository.GetByID(Id);
return PartialView("_TabsEdit", tab);
}
当我检查代码时,可以看到ajax调用成功并且返回了数据,但是我不知道为什么我的模式字段为空。我怀疑我设置不正确,有人可以建议吗?