这里介绍C# ListBox控件,以一个标准生成控件方式来绘制这个控件,其中包括table标签以及该标签与我添加的按钮的生成方式等。当我编写生成显示部分时,也就是在我想注入继承的原始的ListBox的地方,我调用了base.Render方法。这将把微软为C# ListBox控件编写的所有代码注入到我试图绘制的HTML部分。下面列出的属性决定了这部分代码的外观与行为。在本文中,我没有列出相应的属性代码,但是你可以在下载源代码中找到。注意,在代码中,你要生成的按钮将导致一个回寄(基于属性ReorderButtonPostback的值);而对接口IPostBackEventHandler的实现将捕获这个回寄。
EnhancedListBox属性
属性名 类别
UPButtonCaption Appearance
DownButtonCaption Appearance
ShowReorderButtons Appearance
ShowHeading Appearance
HeadingCaption Appearance
ReorderButtonPostBack Behavior
SideButtonWidth Layout
SideButtonHeight Layout
SideButtonVerticalAlign Layout
ReorderButtonSide Layout
UpButtonStyle Styles
DownButtonStyle Styles
ListBoxStyle Styles
HeadingStyles Styles
现在,你可以让该按钮多负责一些工作而不是仅引发一个回寄。最终的产品中包含事件处理代码;这部分代码位于接口 IPostBackEventHandler的实现中,这样以来事件能够被有选择地向服务器激发,而另一方面开发者也可以在此处加入更多的代码。但是记住,你要使用这些按钮来重排序C# ListBox控件中的项,并且希望在不执行回寄的情况下实现这一功能。现在,我们开始分析最有趣的部分。
【编辑推荐】