Web控件可以在设计界面选中控件按属性除的闪电图标选择绑定事件,但是Html服务器控件不行,必须显式的,手动的在前台页面添加。
<div>
<select id="list1" runat="server" size="5" multiple="true" onserverchange="List1_ServerChange">
<option>Option 1</option>
<option>Option 2</option>
</select>
<br />
<input id="Text1" type="text" runat="server" onserverchange="Ctrl_ServerChange" /><br />
<input id="Checkbox1" type="checkbox" runat="server" onserverchange="Ctrl_ServerChange" />Option Text<br />
<input id="Submit1" type="submit" runat="server" value="Submit Query" onserverclick="Submit_Clicked" />
</div>
后台代码:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Chapter04_ServerClick_ServerChange : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
list1.Items.Add("Option 3");
list1.Items.Add("Option 4");
list1.Items.Add("Option 5");
}
}
protected void Ctrl_ServerChange(object sender, EventArgs e)
{
Control ctrl = sender as Control;
Response.Write("<ul><li>ServerChange detected for " + ctrl.ID + "</li></ul>");
}
protected void List1_ServerChange(object sender, EventArgs e)
{
Response.Write("<ul><li>ServerChange detected for List1, The selected items are: </li><ul>");
foreach (ListItem li in list1.Items)
{
if (li.Selected)
{
Response.Write("<li>" + li.Value + "</li>");
}
}
Response.Write("</ul></ul>");
}
protected void Submit_Clicked(object sender,EventArgs e)
{
Response.Write("<ul><li>ServerClick detected for Submit1</li></ul>");
}
}
效果:
这里,事件发生的顺序是不确定的,不要相信这些事件会按照某种设定的顺序发生。