通過查看Request.Form["__EVENTTARGET"]
可以確定哪個控件導致回發。問題在於按鈕ID不會顯示,除非您將其UseSubmitBehavior設置爲false。這裏有一個例子:
.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
switch (Request.Form["__EVENTTARGET"].ToString())
{
case "ddlOne":
break;
case "btnOne":
break;
case "btnTwo":
break;
}
}
}
的.aspx
<form id="form1" runat="server">
<asp:DropDownList ID="ddlOne" AutoPostBack="true" runat="server">
<asp:ListItem Text="One" Value="One" />
<asp:ListItem Text="Two" Value="Two" />
</asp:DropDownList>
<asp:Button ID="btnOne" Text="One" UseSubmitBehavior="false" runat="server" />
<asp:Button ID="btnTwo" Text="Two" UseSubmitBehavior="false" runat="server" />
</form>
你應該使用的UniqueID,以配合中的Request.Form [ 「__ EVENTTARGET」]的值。 ToString()只有控件的ID是不夠的 – 2011-06-06 14:14:00