2011-05-30 4 views
0

私は既存のアプリケーションにあるデータリストにデータページングを実装する必要があります。データリスト内のデータページングサーバ側のコーディング

私は

ストアドプロシージャの持っている何 -

If(Seacrh Criteria) 
    Select based on Search Criteria 
Else 
    Select every product 

は今、私はaspxページに私が持っているデータリスト内のデータのページングを実装する他の条件場合があります。問題は、グリッドビューにバインドされているストアドプロシージャにObjectDataSourceを指定する必要があることです。

私はクエリ文字列からパラメータを取りたくありません。私は複数のseacrhパラメータを持っているので、もう1つの理由は私がポストバックをしたくないということです。

私はそれぞれを説明したいので、私の説明は混乱しているかもしれません。

私はそれを要約しようとします:

  • 私はデータリストコントロールを持っています。
  • 既存のストアドプロシージャを使用してデータページングが必要です。
  • 私は既にストアドプロシージャの[新しい項目の追加で]データセットを作成しました。 [Product.xsd]
  • 私はQuerystringから何らかのパラメータを取りたくないので、私はサーバ側から取る必要があるパラメータを15個近く必要とします。
  • 私のストアドプロシージャは準備完了です。これに続きますtutorial
  • ObjectDataSourceのTypeName属性には何を書きますか?

EDIT1

私は、LINQ to SQLはとのより良い例を見てきましたが、私の問題は私のストアドプロシージャが、それはLINQクエリに変換することができないという大きすぎるということです。どんな助け?

答えて

0

Session変数は、QueryStringの代わりにデータソースで使用できるはずです。検索基準を取得してセッション変数に入れるためのコードを書く必要があるかもしれません。

実際にポストバックを避ける方法はありません。 ajaxを使用してページの更新を軽減できます。

0

第一のオプション:あなたはmatt eisenberg答え

第二のオプションに従うことができます:あなたは本当にポストバックを回避したい場合、私は唯一の方法は、ページネーションのものを行うためにはJavaScriptを使用して、その後、ビューにすべてのデータをロードすることだと思います。しかし、このようにすれば、データが大きくなったり大きくなったりするときに問題が発生します。

私があなただったら、セッションとAJAXを使用します。

0

http://www.liberty.co.uk/fcp/categorylist/dept/liberty-of-london_womenswearをご覧ください。彼らはcssclassにオプションを埋め込むことでクライアント側のフィルタリングを使用しています。

+0

ページングの例では、jQueryを使用してpage1クラスのすべての要素を選択して表示することができます。次に、ユーザーがページ2をクリックすると、それらが表示されます。 –

関連する問題