[習題]User Control #2,控制UC的公開屬性(Public Property),範例下載

摘要:[習題]User Control #2,控制UC的公開屬性(Public Property)
範例下載




 

 

有了上篇文章的基礎

[習題]User Control #0,控制UC的公開屬性(Public Property)(更簡單的範例)

[習題]User Control #1,控制UC的公開屬性(Public Property)(入門練習)

我們要稍微延伸一下這個範例的功能

 

Q : 我們可以在 .ASPX網頁裡面,控制 UC (User Control / 使用者控制項)裡面的

      GridView分頁設定 ---- 每一頁要展現幾筆記錄?

 

執行畫面如下:

     

 

當我們挑選 DropDownList (每一頁要出現幾筆記錄?)

就可以控制 UC (User Control / 使用者控制項)裡面的 GridView分頁設定

     

 



==============================================================================

本範例  Default_02_error.aspx

搭配的使用者控制項 -- WebUserControl_02_Error.ascx

 

我們可以在 ASP.NET網頁 (Default_02_error.aspx)裡面,設定 UC的預設值。

啟動分頁、每頁「預設」出現七筆記錄。

 

 

 

ASP.NET網頁 (Default_02_error.aspx)的 後置程式碼

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        '== 是否分頁?
        mis2000GV.YesOrNo_AllowPaging = Convert.ToBoolean(RadioButtonList1.SelectedValue)

        If mis2000GV.YesOrNo_AllowPaging = True Then
            '== 每一頁呈現的資料筆數?
            mis2000GV.NumOfPageSize = Convert.ToInt32(DropDownList1.SelectedValue.ToString())
            '== 缺點: ==
            '    當您一按下分頁,分頁就會回到「預設值」。每頁七筆記錄。
        End If

    End Sub

 

-------------------------------------------------------------------------------------------------------------------

使用者控制項 (WebUserControl_02_Error.ascx) 的 後置程式碼有些修正:

'== 預設值 ==
    Private m_PageSize As Integer = 5
    Private m_AllowPaging As Boolean = True

    '==公開屬性 ==
    Public Property NumOfPageSize() As Integer
        Get
            Return m_PageSize
        End Get
        Set(ByVal value As Integer)
            m_PageSize = value
        End Set
    End Property

    Public Property YesOrNo_AllowPaging() As Boolean
        Get
            Return m_AllowPaging
        End Get
        Set(ByVal value As Boolean)
            m_AllowPaging = value
        End Set
    End Property



    '== 重點!!必須在 Page_PreRender這個事件才行!! ==
    Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
        GridView1.PageSize = NumOfPageSize
        '== 缺點: ==
        '    當您一按下分頁,分頁就會回到「預設值」。

        GridView1.AllowPaging = YesOrNo_AllowPaging
    End Sub

 

 

但是這一個範例有一個缺失

當您點選 GridView的其他頁數,您會發現 GridView故態復萌,又回到原本預設的 PageSize設定了。

(錯誤狀況如下,GridView又回到預設的每頁七筆記錄。

                                而非我們從 DropDownList選定的每頁兩筆記錄。)

     

 

要修正這個錯誤,我寫了第三個範例,提供您下載。

自行觀賞。

 

 

 

==============================================================

<範例下載>

      本範例,連同上一個範例的 VB / C#程式,請由此下載。謝謝。   UC_MIS2000Lab.rar

      這是給書本的讀者,作為後續補充的範例。

      請在您看完「上集」第十一章之後,再來閱讀。

 

接下來還有兩篇,請您繼續看下去:

[習題]User Control #3,如何自訂 UC裡面的方法、事件(Event)?(入門練習)

 

 

關於UC的相關文章:

[ASP.NET]動態新增User Control,並設定屬性值與取屬性值    (作者:91)
 
[ASP.NET]動態Load UserControl – part 2   (作者:91)
 
使用LoadControl()動態加入UserControl - (1)   (作者:Derek.NET)
 
使用LoadControl()動態加入UserControl  - (2)   (作者:Derek.NET)
 
動態載入User control  (作者:南極貓.手扎)

 

 

===  最後要打一下廣告  ==========================

 

1.  如果您覺得我的描述、寫作方式,符合您的胃口。

2.  如果您看完以後,知道我寫書、介紹一些控制項或是技術........不是「混過去」、「帶過去」而已,而是真真確確地蒐集 "有用的範例",讓您學得更深入!

3.  如果您覺得:我出完書以後,還不定期地提供售後服務,提供補充教材......這樣的互動是 "良性"的,是值得鼓勵的。......已經推出 兩百多篇 補充範例了

4. 如果您(尤其是學生)真的想把基礎學好,而不是 "混"過這一門課就好、而不是寫個(畢業專題的)屍體出來交差(能畢業就好).....那麼.......

 

請您購買下面的書籍,

東西多到您學不完

上 / 下兩集,兩本書的厚度(我蒐集的各種範例)將近 兩千頁 !!......絕對不會讓您失望

 

 


 

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

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----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小時)完整內容,"免費"讓您評估