【发布时间】:2018-06-12 21:51:33
【问题描述】:
我正在使用 Asp.net core 1.1 开发一个 MVC Web 应用程序。在视图中,我通过循环 div 来创建网格。
@foreach (var eachItem in Model.PageProjects)
{
<div class="media-body no-right">
<div class="media-left">
#@eachItem.ProjectNumber
<h4 class="media-heading"><a href="">@eachItem.ProjectName</a></h4>
</div>
<div class="media-left">
<h4 class="media-heading"><span class="label label-default">Stage @eachItem.Stage</span></h4>
</div>
<div class="media-left">
<h4 class="media-heading">@eachItem.PmUsername</h4>
<span class="text-uppercase">project manager</span>
</div>
<div class="media-left">
<h4 class="media-heading">@eachItem.LastUpdatedOn</h4>
<span class="text-uppercase">last updated</span>
</div>
</div>
}
根据下拉值,我想对网格进行排序
@Html.DropDownList("StageDropDown", new List<SelectListItem>
{
new SelectListItem { Text = "None", Value = "ProjectNumber"},
new SelectListItem { Text = "Project Manager", Value = "ProjectManager" },
new SelectListItem { Text = "Last Updated", Value = "LastUpdatedOn" , Selected = true }
}, "Select Stage", new { @class = "form-control" })
我正在触发 jquery post 事件以调用操作方法
$("#StageDropDown").on("change", function () {
$.post("/Projects/Index", { sortOrder: $('#StageDropDown :selected').val(), CurrentSort: $('#currentStageSortOrder').val() });
});
上述事件调用action方法,我正在对列表数据进行排序并使用模型将其分配给div,但视图没有刷新,它显示的是旧值
我使用过 DistributedMemoryCache 和 Session,对此都发表了评论并再次尝试,但视图仍然没有刷新,它显示的是旧值。
值在列表中排序,但排序后的值在呈现视图时没有得到反映。
您能提供建议吗?
提前致谢
【问题讨论】:
-
在
$.post成功你需要重新绑定你的div,目前你的代码中没有success方法 -
我使用了替代方法来解决这个问题,而不是 $。使用 var dropdownValue = $('#StageDropDown :selected').val(); window.location.href = '/Projects/Index?sortOrder=' + dropdownValue
-
它会重新加载页面,你想要吗?
标签: c# jquery asp.net-mvc asp.net-core-1.1