0

ASP.NETMVCは初めてです。ビューにレコードのリストを表示しています。また、10、20、50などのオプションを使用してページに表示されるレコードの数を制御するドロップダウンリストもあります。

これを実現するために、jquerychangeイベントを使用してドロップダウンの変更時にコントローラーアクションをトリガーしています。以下は私の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 に答える