2011-01-21 14 views
2

私のグリッドの上にチェックボックスの束があるとしましょう。 (選択されていれば)値を掲示することは問題ありません。私はまた、ページャは、このようなGETリクエストのために使用するクエリ文字列を操作することができます:私はちょうど私がPOSTシナリオにページャを使用できるかどうかを疑問に思ってmvc投稿ページャの質問

Html.Pager(Model.AssetsPagedList) 
     .First("First") 
     .Last("Last") 
     .Next("Next") 
     .Previous("Previous") 
      .Link(currentPage => Url.Action("Browse", new { 
      page = currentPage, 
      searchTerm = Model.SearchModel.SearchTerm, 
      excludedWords = Model.SearchModel.ExcludedWords, 
      minPrice = Model.SearchModel.MinPrice, 
      maxPrice = Model.SearchModel.MaxPrice, 
      locationId = Model.SearchModel.LocationId, 
      catalogId = Model.SearchModel.CatalogId 
     })) 

。私は、javascript/jqueryを使ってリンクを動的に(チェックボックスを変更した後に)変更してもGETを使うことができると思います。あるいは、POST用の送信ボタンへのリンクを変更することもできます。誰かがこのようなページャーを使いましたか?

ありがとうございました。

C

答えて

1

リンクでPOSTリクエストを送信できません。 HTMLフォームまたはAJAXのみが可能です。そのため、あなたのリンクをAJAXにしてください、または送信ボタンでフォームを使用してください(これはMVCContribで使用されているものがリンクを使用するため、カスタムページャを書く必要があります)。

限りのリンクをAJAXifying懸念している:

$('.pagination a').live('click', function() { 
    $.post(this.href, function(result) { 
     // do something with the result 
    }); 
    return false; 
}); 
+0

私はそれを知っていますが、送信ボタンがリンク(のように見えるようにすることができます - :私は削除操作のためにこれを使用して... – cs0815

+0

@csetzkorn、のもちろん、あなたはできます。 'foo.pngはリンクのように見えますが、これ以外にも良いCSSテクニックがあると思います残念ながら私はCSSのスペシャリストではありません。私のイメージは見た目がよく、うまく動作します:-)私は意味的に正しいマークアップを書いて、*ルックアンドフィールパート*をデザイナーのままにしています。 –

+0

いつものおかげで答えはとても良いです。これはjavascriptを避けるので、あなたのコメントを使用する可能性があります... – cs0815