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
環境
- WIndows7, VS2012, .NET4.5