加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 获取在page_init中触发回发的控件

发布时间:2020-12-16 06:53:08 所属栏目:asp.Net 来源:网络整理
导读:我有一个gridview,包括动态创建的下拉列表.当更改下拉值并在网格上进行批量更新(btnUpdate.click)时,我必须在页面init中创建控件,以便它们可供viewstate使用.但是,我有几个其他按钮也会导致回发,我不想在页面init中创建控件,而是在按钮单击事件中稍后创建控
我有一个gridview,包括动态创建的下拉列表.当更改下拉值并在网格上进行批量更新(btnUpdate.click)时,我必须在页面init中创建控件,以便它们可供viewstate使用.但是,我有几个其他按钮也会导致回发,我不想在页面init中创建控件,而是在按钮单击事件中稍后创建控件.

在page_init中如何判断哪个控件触发了回发? __EVENTTARGET =“”和request.params(“btnUpdate”)什么都不是

解决方法

通过查看Request.Form [“__ EVENTTARGET”],可以确定哪个控件导致了PostBack.这样做的问题是,除非您将其 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;
        }
    }
}

的.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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读