DataList和Repeater里的自定义button控件的使用
学习内容:为ItemCommand event创建一个event handler将服务器端代码和点击button关联起来。
DataList和Repeater可以在templates里包含很多Buttons, LinkButtons, ImageButtons。这些button被点时会引起postback,并激发ItemCommand事件。为ItemCommand event创建一个event handler可以将服务器端代码和点击button关联起来。在这个event handler里首先检查传入的CommandName的值来判断是哪个button被点了。其它另外的信息可以通过CommandArgument属性来提供。 //类CommandEventArgs有两个公共属性,CommandName(用来获取命令的名称)和CommandArgument(用来获取命令的参数)。 任何时候,当DataList或Repeater的template里的Button, LinkButton, ImageButton被点时,会产生postback,并激发DataList或Repeater的ItemCommand事件。除了ItemCommand外,如果button的CommandName 设为(“Delete”, “Edit”, “Cancel”, “Update”, “Select”)其中一个时,DataList会激发另外一个事件。但ItemCommand都是会被激发的。 当DataList或Repeater的template里的Button被点时,通常需要获取哪个button被点了(一个控件里可能有多个button,比如编辑和删除),还可能需要一些其它的信息(比如那些button被点的item(项)的主键)。Button, LinkButton, ImageButton提供了两个属性,它们的值可以传给ItemCommand event handler: 1. CommandName –表示template里每个button身份的字符串。
配置ObjectDataSource 当点“Show Products” LinkButton 时执行服务器端代码 当button被点时,产生postback并激发DataList或Repeater的ItemCommand事件。Button的CommandName和CommandArgument值被传到event handler里。 为ItemCommand事件创建一个event handler,注意event handler的第二个参数(名字为e)。这个参数的类型为RepeaterCommandEventArgs,它有以下4个属性: 1. CommandArgument – 被点的 button’的CommandArgument property 的值 注意:DataList的ItemCommand event handler传入了一个DataListCommandEventArgs类型的对象,它提供和RepeaterCommandEventArgs 一样的4个属性。 C# 注意:如果需要修改这个报表的行为,比如一次只列出一个category的products,仅仅只需要将BulletedList的EnableViewState属性设为False。 来自MSDN中的内容: BulletedList类:创建一个控件,该控件生成一个采用项目符号格式的项列表。 命名空间:System.Web.UI.WebControls 若要指定 BulletedList 控件中用于显示列表项的项目符号类型,请将 BulletStyle 属性设置为 BulletStyle 枚举定义的项目符号类型之一。下表列出了可用的项目符号样式。 项目符号样式
图:BulletedList样式
使用 FirstBulletNumber 属性来指定排序 BulletedList 控件中开始列表项编号的值。如果 BulletStyle 属性设置为 Disc、Square、Circle 或 CustomImage 字段,则忽略分配给 FirstBulletNumber 属性的值。如果将 BulletStyle 属性设置为 CustomImage 的值,以指定项目符号的自定义图像,则您还必须设置 BulletImageUrl 属性以指定图像文件的位置。
若要指定 BulletedList 中列表项的显示行为,请将 DisplayMode 属性设置为 BulletedListDisplayMode 枚举定义的值之一。定义的显示行为是 Text、HyperLink 和 LinkButton。 单击超链接时,将定位到相应的 URL。使用 Value 属性指定超链接定位到的 URL。使用 Target 属性指定框架或窗口,单击超链接时,将在该框架或窗口显示定位到的网页。 当 DisplayMode 属性设置为 LinkButton 时,BulletedList 控件将列表项显示为链接,单击这些链接将回发到服务器。若要以编程方式控制单击链接按钮时执行的操作,请为 Click 事件提供事件处理程序。请注意,SelectedIndex 和 SelectedItem 属性是从 ListControl 类继承而来的,并且不适用于 BulletedList 控件。使用 BulletedListEventArgs 类的事件数据来确定单击的 BulletedList 中的链接按钮的索引。 BulletedList 控件也支持数据绑定。若要将 BulletedList 绑定到数据源,可以使用提供的任意数据绑定机制。
Button.CommandArgument 属性获取或设置可选参数,该参数与关联的 CommandName一起被传递到 Command 事件。命名空间:System.Web.UI.WebControls |