我有一个gridview,包括动态创建的下拉列表.当更改下拉值并在网格上执行批量更新(btnUpdate.click)时,我必须在页面init中创建控件,以便它们可供viewstate使用.但是,我有几个其他按钮也会导致回发,我不想在页面init中创建控件,而是在按钮单击事件中稍后创建控件.
在page_init中如何判断哪个控件触发了回发?__EVENTTARGET =""和request.params("btnUpdate")什么都不是
通过查看可以确定哪个控件引起了PostBack Request.Form["__EVENTTARGET"].这样做的问题是,除非您将UseSubmitBehavior设置为false,否则不会显示按钮ID .这是一个例子:
.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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
的.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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5880 次 |
| 最近记录: |