0

我是 ASP.NET MVC 的新手。我正在视图上显示记录列表。还有一个下拉列表,用于控制要在页面上显示的记录数,选项为 10、20 和 50。

为了实现这一点,我正在使用 jquery 更改事件触发我的控制器对下拉更改的操作。以下是我的 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;
        });

它工作正常。但我想在页面重新加载后保留选定的值。我不知道该怎么做?由于下拉不属于任何模型属性。任何帮助表示赞赏。谢谢

4

2 回答 2

3

您应该能够根据pagingCounturl 中的参数设置下拉列表的值

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"));
}
于 2012-12-14T18:04:21.780 回答
1

您可能已经在您的操作方法中使用了 pagingCount 参数。

您现在需要做的就是将该值传递给您的视图(最好通过在您的 ViewModel 中设置属性)并让视图在下拉列表中设置选定的值。

于 2012-12-14T17:59:35.707 回答