gpt4 book ai didi

asp.net - 获取在 page_init 中触发回发的控制

转载 作者:行者123 更新时间:2023-12-02 10:48:51 25 4
gpt4 key购买 nike

我有一个包含动态创建的下拉列表的 GridView 。当更改下拉值并在网格上进行批量更新(btnUpdate.click)时,我必须在页面初始化中创建控件,以便它们可用于 View 状态。但是,我还有其他几个按钮也会导致回发,并且我不想在页面初始化中创建控件,而是稍后在按钮单击事件中创建控件。

如何判断在 page_init 中哪个控件触发了回发? __EVENTTARGET = ""和 request.params("btnUpdate") 没什么

最佳答案

通过查看 Request.Form["__EVENTTARGET"] 可以确定哪个控件导致了 PostBack。这样做的问题是按钮 id 将不会显示,除非您设置它们的 UseSubmitBehavior。这是一个例子:

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

关于asp.net - 获取在 page_init 中触发回发的控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2479175/

25 4 0