minato128 blog

minato128の公開メモ帳です。

ASP.NET の GridView で SelectMethod を使ってみる

SelectMethod in ASP.NET 4.5 Model binding-DotNetJalps
これみて初めて知ったのでやってみた。

Me.gvABC.AllowPaging = True
Me.gvABC.AllowCustomPaging = True
Me.gvABC.PagerSettings.Mode = PagerButtons.NumericFirstLast
Me.gvABC.SelectMethod = "GetAbcList"
Me.gvABC.ItemType = "Sample.Entity.AbcEntity"
Me.gvABC.DataBind()

SelectMethodに指定するのがStringのメソッド名だから、
指定するメソッドがコンパイラ的に未参照メソッドになるのが微妙。

DataBoundControl でページングを有効にする場合、SelectMethod では、IQueryable を返すか、必須パラメーター (int startRowIndex、int maximumRows、int totalRowCount) をすべて受け取る必要があります。

pagingオプション有効にしてたらこんなエラーが出た。
メソッド用意してあるのになんで?と思ってググったらバッチリなQAがあった。
C#のoutキーワードの代替があるの知らなかった。
c# - Asp.net 4.5 model binding broken when returning IEnumerable using vb? - Stack Overflow

環境