我是ASP.NET MVC的新手。我在视图上显示记录列表。并且还有一个下拉列表,用于控制页面上显示的记录数量,例如10,20和50。
为了实现这一点,我使用jquery change事件触发我的控制器操作以更改下拉列表。以下是我的java脚本代码: -
$('select[name="pagingCount"]').on('change', function (ev) {
ev.preventDefault();
var pagingCount = $('select[name="pagingCount"]').val();
var url = '@Url.Action("Action","Controller")?pagingCount=' + pagingCount;
window.location = url;
});
工作正常。但我希望在页面重新加载后保持选定的值。我不知道该怎么做?由于下拉列表不属于任何模型属性。 任何帮助表示赞赏。谢谢
答案 0 :(得分:3)
您应该可以根据网址中的pagingCount
参数设置下拉列表的值
function getParameterByName(name)
{
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.search);
if(results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
$(function(){
$('select[name="pagingCount"]').val(getParameterByName("pagingCount"));
}
答案 1 :(得分:1)
您可能已经在操作方法中使用了pagingCount参数。
您现在需要做的就是将该值传递给您View(最好通过在ViewModel中设置属性)并让视图在下拉列表中设置所选值。