DataList和Repeater里的自定義button控件的使用 列表數(shù)據(jù)和中繼器 自定義按鈕控件的使用 學(xué)習(xí)內(nèi)容:為ItemCommand event創(chuàng)建一個(gè)event handler將服務(wù)器端代碼和點(diǎn)擊button關(guān)聯(lián)起來(lái)。
DataList和Repeater可以在templates里包含很多Buttons, LinkButtons, ImageButtons。這些button被點(diǎn)時(shí)會(huì)引起postback,并激發(fā)ItemCommand事件。為ItemCommand event創(chuàng)建一個(gè)event handler可以將服務(wù)器端代碼和點(diǎn)擊button關(guān)聯(lián)起來(lái)。在這個(gè)event handler里首先檢查傳入的CommandName的值來(lái)判斷是哪個(gè)button被點(diǎn)了。其它另外的信息可以通過(guò)CommandArgument屬性來(lái)提供。 //類CommandEventArgs有兩個(gè)公共屬性,CommandName(用來(lái)獲取命令的名稱)和CommandArgument(用來(lái)獲取命令的參數(shù))。 任何時(shí)候,當(dāng)DataList或Repeater的template里的Button, LinkButton, ImageButton被點(diǎn)時(shí),會(huì)產(chǎn)生postback,并激發(fā)DataList或Repeater的ItemCommand事件。除了ItemCommand外,如果button的CommandName 設(shè)為(“Delete”, “Edit”, “Cancel”, “Update”, “Select”)其中一個(gè)時(shí),DataList會(huì)激發(fā)另外一個(gè)事件。但I(xiàn)temCommand都是會(huì)被激發(fā)的。 當(dāng)DataList或Repeater的template里的Button被點(diǎn)時(shí),通常需要獲取哪個(gè)button被點(diǎn)了(一個(gè)控件里可能有多個(gè)button,比如編輯和刪除),還可能需要一些其它的信息(比如那些button被點(diǎn)的item(項(xiàng))的主鍵)。Button, LinkButton, ImageButton提供了兩個(gè)屬性,它們的值可以傳給ItemCommand event handler: 1. CommandName –表示template里每個(gè)button身份的字符串。
配置ObjectDataSource 當(dāng)點(diǎn)“Show Products” LinkButton 時(shí)執(zhí)行服務(wù)器端代碼 當(dāng)button被點(diǎn)時(shí),產(chǎn)生postback并激發(fā)DataList或Repeater的ItemCommand事件。Button的CommandName和CommandArgument值被傳到event handler里。 為ItemCommand事件創(chuàng)建一個(gè)event handler,注意event handler的第二個(gè)參數(shù)(名字為e)。這個(gè)參數(shù)的類型為RepeaterCommandEventArgs,它有以下4個(gè)屬性: 1. CommandArgument – 被點(diǎn)的 button’的CommandArgument property 的值 注意:DataList的ItemCommand event handler傳入了一個(gè)DataListCommandEventArgs類型的對(duì)象,它提供和RepeaterCommandEventArgs 一樣的4個(gè)屬性。 C# 注意:如果需要修改這個(gè)報(bào)表的行為,比如一次只列出一個(gè)category的products,僅僅只需要將BulletedList的EnableViewState屬性設(shè)為False。 來(lái)自MSDN中的內(nèi)容: BulletedList類:創(chuàng)建一個(gè)控件,該控件生成一個(gè)采用項(xiàng)目符號(hào)格式的項(xiàng)列表。 命名空間:System.Web.UI.WebControls 若要指定 BulletedList 控件中用于顯示列表項(xiàng)的項(xiàng)目符號(hào)類型,請(qǐng)將 BulletStyle 屬性設(shè)置為 BulletStyle 枚舉定義的項(xiàng)目符號(hào)類型之一。下表列出了可用的項(xiàng)目符號(hào)樣式。 項(xiàng)目符號(hào)樣式
圖:BulletedList樣式 使用 FirstBulletNumber 屬性來(lái)指定排序 BulletedList 控件中開(kāi)始列表項(xiàng)編號(hào)的值。如果 BulletStyle 屬性設(shè)置為 Disc、Square、Circle 或 CustomImage 字段,則忽略分配給 FirstBulletNumber 屬性的值。如果將 BulletStyle 屬性設(shè)置為 CustomImage 的值,以指定項(xiàng)目符號(hào)的自定義圖像,則您還必須設(shè)置 BulletImageUrl 屬性以指定圖像文件的位置。
若要指定 BulletedList 中列表項(xiàng)的顯示行為,請(qǐng)將 DisplayMode 屬性設(shè)置為 BulletedListDisplayMode 枚舉定義的值之一。定義的顯示行為是 Text、HyperLink 和 LinkButton。 單擊超鏈接時(shí),將定位到相應(yīng)的 URL。使用 Value 屬性指定超鏈接定位到的 URL。使用 Target 屬性指定框架或窗口,單擊超鏈接時(shí),將在該框架或窗口顯示定位到的網(wǎng)頁(yè)。 當(dāng) DisplayMode 屬性設(shè)置為 LinkButton 時(shí),BulletedList 控件將列表項(xiàng)顯示為鏈接,單擊這些鏈接將回發(fā)到服務(wù)器。若要以編程方式控制單擊鏈接按鈕時(shí)執(zhí)行的操作,請(qǐng)為 Click 事件提供事件處理程序。請(qǐng)注意,SelectedIndex 和 SelectedItem 屬性是從 ListControl 類繼承而來(lái)的,并且不適用于 BulletedList 控件。使用 BulletedListEventArgs 類的事件數(shù)據(jù)來(lái)確定單擊的 BulletedList 中的鏈接按鈕的索引。 BulletedList 控件也支持?jǐn)?shù)據(jù)綁定。若要將 BulletedList 綁定到數(shù)據(jù)源,可以使用提供的任意數(shù)據(jù)綁定機(jī)制。
Button.CommandArgument 屬性獲取或設(shè)置可選參數(shù),該參數(shù)與關(guān)聯(lián)的 CommandName一起被傳遞到 Command 事件。命名空間:System.Web.UI.WebControls |
|
來(lái)自: 昵稱10525020 > 《htlp》