WebSurfer's Home

トップ > Blog 1   |   ログイン
APMLフィルター

DataPager のバグその2

by WebSurfer 2010年10月30日 14:34

先のポスト DataPager のバグその1 に続いて、再び DataPager のバグの話です。なお、このバグも .NET 4 では修正されており、.NET 3.5 のみの問題です。

ListView の中に配置した DataPager の設定にある条件が重なると Stack Overflow を起こします。条件というのは以下の 5 つです。

  1. ListView の LayoutTemplate の中に DataPager を配置
  2. ListView に EmptyDataTemplate を配置
  3. ListView にバインドされるデータの件数が 0
  4. DataPager.QueryStringField を設定(例: QueryStringField="pageNumber")
  5. そのページを、クエリ文字列 ?pageNumber=1 として要求

残念ながら原因は分かりません。(涙)

でも、回避策は簡単で、DataPager を ListView の外に出してしまえばいいのです。件数 0 の場合は ListView の外に DataPager を配置しても、それが表示されることはないです。

または、当然ながら、DataPager.QueryStringField の設定を止めても回避できます。DataPager.QueryStringField を使う理由が、GridView.PageIndex プロパティのようにコードでページを指定したいということであれば、別の手段があります。

その「別の手段」の具体的な方法は、Resetting the Page Index in a ListView が参考になると思います。

Tags:

Paging

About this blog

2010年5月にこのブログを立ち上げました。主に ASP.NET Web アプリ関係の記事です。

Calendar

<<  2024年4月  >>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

View posts in large calendar