Model Binding入門、簡介、初試身手 #2 -- Web Form分頁與 IQueryable < ItemType > (不使用EF)

您可以修改成 ADO.NET來做資料查詢(讀取)
比較有趣的地方是: 我把畫面上的 GridView「分頁」功能啟動了,AllowPaging = "true"
程式就掛了?????

錯誤訊息告訴我們: 如果 Model Binding 想要搭配分頁來做 請使用 IQueryable 才行

 

上一篇文章:

 

Model Binding入門、簡介、初試身手 #1 -- 搭配ASP.NET Web Form (不使用EF)

 

上一篇文章使用 List當作資料來源。

 

您可以修改成 ADO.NET來做資料查詢(讀取)

這個修改比較簡單,在此不贅述。

請打開文章最末的範例下載,檔名 Class2.cs自己看一下即可。

 

 

比較有趣的地方是:

   我把畫面上的 GridView「分頁」功能啟動了,AllowPaging = "true"

   程式就掛了?????

 

錯誤訊息如下圖,告訴我們:

    如果 Model Binding 想要搭配 分頁 來做

    請使用 IQueryable<ItemType>  、VB語法為 IQueryable(Of ItemType) 才行

 

 

我們把程式稍做修改,請看檔名 Class3.cs

改成 IQueryable<Class3> 來試試看,程式就OK了。

 

Model Binding裡面   SelectMethod傳回的數據,可以使用「分頁」。

    <asp:GridView ID="GridView1" runat="server" 
            ItemType="Class3"  SelectMethod="BookList"
            OnCallingDataMethods="GridView1_CallingDataMethods"
            PageSize="5"  AllowPaging="True">
 

 

執行成果如下圖:    

      底下的藍色GridView + SqlDataSource只是用來比對,看看我自己寫的(黑白Gridview)成果是否OK?

    

 

 

上面的程式 (Class3.cs)  自己用迴圈慢慢湊 List的內容,有點累贅

所以我參考別的文章,做了一些改寫。

https://www.simple-talk.com/dotnet/.net-framework/a-defense-of-reflection-in-.net/

http://kevintsengtw.blogspot.tw/2013/05/aspnet-mvc-model-adonet.html  (中文)

http://www.dotblogs.com.tw/regionbbs/archive/2012/01/05/display.model.in.view.aspx  (中文)

 

後來我引用這位前輩的寫法

請參閱範例 Class4.cs 與 Class5.cs

Generically Populate List of Objects from SqlDataReader

詳見  http://www.codeproject.com/Articles/827984/Generically-Populate-List-of-Objects-from-SqlDataR

 

 

*** 上述 Reflection 的 C#程式碼有點亂,想轉成VB還真是傷透腦筋 ***

特別推薦 超強力 C# & VB 語言轉換器!

            http://codeconverter.sharpdevelop.net/SnippetConverter.aspx

 

檔案下載:

C# 版   WebSite3_Model_Binding.rar

VB 版   WebSite3_Model_Binding_VB.rar

 

 

推薦一下這本書,Ch.34  Model Binding 寫的不錯喔

(本範例並非從這本書而來)

精通ASP.NET 4.5(人民郵電出版社) / Pro ASP.NET 4.5 in C# (apress)

http://www.apress.com/9781430242543

範例可以從美國原廠下載,這本書也有推出VB版,請查詢「Pro ASP.NET 4.5 in VB」

Pro ASP.NET 4.5 in C# Cover Image

 

下一篇文章再分享給大家 -- 

Model Binding入門、簡介、初試身手 #3 -- Web Form、Repository 與 .TryUpdateModel()方法

 

 

 

 

 

 

 

我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

線上課程,遠距教學 (Web Form 49hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

線上課程,遠距教學 (ASP.NET MVC 75hr)  https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab

ASP.NET MVC線上課程 第一天 免費看 (5.5小時) 

寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.台灣  或  school (at) mis2000lab.net


ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。 

................   facebook社團   https://www.facebook.com/mis2000lab   ......................

................  YouTube (ASP.NET) 線上教學影片  https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/

 

Blog文章 "附的範例" 無法下載,請看 這裡 ...... https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download

請看我們的「售後服務」範圍(嚴格認定)

......................................................................................................................................................

...................................................................................................................................................... 

[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講

事先錄製好的影片,並非上課時側錄!   觀看影片時,有如我「一對一」跟您面對面講課

 

ASP.NET MVC 5 線上教學

累積時數約 75小時...... 第一天(5.5小時)完整內容,"免費"讓您評估