AddAttribute()
AddStyleAttribute()
AddAttribute()方法用于将title、class、style和onclick等HTML属性添加到HTML元素。AddStyleAttribute() 用于将样式设置添加到 HTML 元素,如 background-color、color 和 font-size 等。
AddAttribute() 有几个重载窗体,但在代码中,我们将使用以下窗体:AddAttribute(HtmlTextWriterAttribute, value)。第一个参数,即 HtmlTextWriterAttribute,应该是 HtmlTextWriterAttribute 枚举的成员。该枚举包含像 Align、Bgcolor、Class 和 Onclick 等项。您可以在 .NET Framework Class Library,HtmlTextWriterAttribute Enumeration 中找到完整的列表。value 输入参数用于指定分配给特定 HTML 属性的值。最后,如果您想添加一个 HtmlTextWriterAttribute 枚举中未定义的 HTML 属性,可以使用 AddAttribute() 方法的替代形式 AddAttribute(attributeName, value),其中的 attributeName 和 value 均为字符串。
为了运用该信息,我们创建一个作为确认按钮的服务器 Web 控件。确认按钮是一种提交按钮,当用户单击此按钮时,将显示一个弹出式对话框,询问用户是否确定要继续操作。用户可以单击“取消”,不提交窗体。此项功能对用于删除信息的按钮特别有用,因为最终用户(或网站管理员)可能会在无意中单击鼠标删除数据库中的条目,如果没有机会取消,将是非常令人烦恼的事。
为了减少工作量,我们从 System.Web.UI.WebControls.Button 类中导出 ConfirmButton Web 控件,因为这个类本身已完成了涉及呈现提交按钮的所有繁重工作。在导出的类中,我们只需添加一个属性,这样用户可以指定确认消息,然后覆盖按钮的 AddAttributesToRender() 方法,并添加一个属性以处理客户端事件 onclick。
首先,在 Visual Studio .NET 中创建一个新的 Web Control Library(Web 控件库)项目,或者在 ClientSideControls 项目中添加一个新的 Web Custom Control(Web 自定义控件)。ConfirmButton 类的完整源代码如下所示:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
namespace ClientSideControls
{
/// <summary>
/// ConfirmButton 的摘要描述。
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:ConfirmButton runat=server></{0}:ConfirmButton>")]
public class ConfirmButton : Button
{
[Bindable(true),
Category("Appearance"),
DefaultValue("")]
public string PopupMessage
{
get
{
// 检查 ViewState 中是否存在该项目
ob