【发布时间】:2018-11-09 14:44:54
【问题描述】:
默认情况下,我在局部视图中加载所有数据
Index.cshtml 中的 html 代码
@model GMWUI.ViewModel.MessageDisplayModel
<div id="divTblMsg" class="grid-content">
@{
Html.RenderPartial("filterMessages", Model);
}
</div>
HomeController.cs
public async Task<IActionResult> Index()
{
messageDisplayModel.Messages = await ApiClientFactory.Instance.GetMessages();
return View(messageDisplayModel);
}
当用户点击带有搜索条件的过滤器按钮时 我正在从 web api 获取过滤数据到我的家庭控制器 filtermessage 方法
这是我单击过滤器按钮时的 ajax 调用
$.ajax({
method: 'post',
url: "Home/postMessage",
data: JSON.stringify(model),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
//my table element id is divTblMsg
$("#divTblMsg").html(data);
}
});
HomeController.cs
[HttpGet]
public async Task<IActionResult> filterMessages(GetMessageParams searchCriteria)
{
//I though adding below line will clear old data should update partial view with filtered data, but it is not working.
messageDisplayModel.Messages = Enumerable.Empty<Messages>();
messageDisplayModel.Messages = await ApiClientFactory.Instance.GetMessages(searchCriteria);
//I am getting filtered data to messageDisplayModel.messages and I am passing it to partial view
return PartialView("filterMessages", messageDisplayModel.Messages);
}
我找不到问题
【问题讨论】:
-
你试过调试代码吗?如果您在返回 PartialView 的代码行设置断点,它是否会到达该断点,并且是否填充了 Messages 变量?
-
能否将控制器方法 postMessage 添加到问题中的 homecontroller.cs 源中
标签: asp.net asp.net-mvc asp.net-core-mvc