在上一节创建动态控件后,往往我们需要为控件设置事件。
示例
<%@ Page Language="C#" %>
<script runat="server">
void SaveData(object sender, EventArgs e)
{
//执行保存操作
}
void Page_Load(object sender, EventArgs e)
{
Button btn = new Button();
btn.ID = "saveData";
btn.Text = "保存";
btn.Click += new EventHandler(SaveData);
form1.Controls.Add(btn);
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>动态创建控件</title>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>
创建事件时,需要注意两点,已在示例中用红底白字标注。
LiteralControl 类
LiteralControl 表示HTML 元素、文本和ASP.NET 页中不需要在服务器上处理的任何其他字符串,其名称空间是 System.Web.UI。ASP.NET 将所有不需要服务器端处理的 HTML 元素和可读文本编译为该类的实例。例如,在开始标记中不包含 runat="server" 属性/值对的 HTML 元素将被编译为 LiteralControl 对象。
示例
form1.Controls.Add(new LiteralControl("<br>"));
form1.Controls.Add(new LiteralControl("<label>label"));
form1.Controls.Add(new LiteralControl("</label>"));
相关阅读