gpt4 book ai didi

asp.net - 如何在aspx页面中查找用户控件的id

转载 作者:行者123 更新时间:2023-12-04 20:04:00 25 4
gpt4 key购买 nike

我有一个 aspx web 应用程序,其中存在 1 个 aspx 页面和 1 个 web 用户控件。我在 aspx 页面中添加了 4 个用户控件实例。用户控件中有一个删除按钮,用于从 aspx 页面中删除该控件。如果我单击用户控件的删除按钮,我如何才能找到从 aspx 页面中单击了哪个用户控件的删除按钮。请告诉我解决方案...

提前致谢:)

最佳答案

我会向用户控件添加一个事件并在后面的代码中捕获该事件。这是一个例子:

Default.aspx 网络表单:

注册用户控件:

<%@ Register TagPrefix="so" TagName="UserControl" Src="~/WebUserControl.ascx" %>

上述控件的 4 个实例。请注意,我们正在处理下面定义的 OnRemoving 事件:

    <so:UserControl ID="UserControl1" runat="server" Title="Control 1" OnRemoving="UserControl1_Removing" />
<so:UserControl ID="UserControl2" runat="server" Title="Control 2" OnRemoving="UserControl2_Removing" />
<so:UserControl ID="UserControl3" runat="server" Title="Control 3" OnRemoving="UserControl3_Removing" />
<so:UserControl ID="UserControl4" runat="server" Title="Control 4" OnRemoving="UserControl4_Removing" />

Default.aspx 代码隐藏:

在后面的代码中,我处理每个控件的 OnRemoving 事件:

protected void UserControl1_Removing(object sender, EventArgs e)
{
WebUserControl ctrl = (WebUserControl)sender;
ctrl.Visible = false;
}
protected void UserControl2_Removing(object sender, EventArgs e)
{
WebUserControl ctrl = (WebUserControl)sender;
ctrl.Visible = false;
}
protected void UserControl3_Removing(object sender, EventArgs e)
{
WebUserControl ctrl = (WebUserControl)sender;
ctrl.Visible = false;
}
protected void UserControl4_Removing(object sender, EventArgs e)
{
WebUserControl ctrl = (WebUserControl)sender;
ctrl.Visible = false;
}

用户控制 Web 表单:

网络用户控件包括一个“删除”按钮:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>

<fieldset>
<legend><%=Title %></legend>
<asp:Button ID="Button_Remove" runat="server" Text="Remove" OnClick="Button_Remove_Click" />
</fieldset>

背后的用户控制代码:

最后,这里是如何为用户控件编写事件代码:

public partial class WebUserControl : System.Web.UI.UserControl
{
// the event delegates may listen for
public event EventHandler Removing;
public string Title { get; set; }

protected void Page_Load(object sender, EventArgs e)
{
}

protected void Button_Remove_Click(object sender, EventArgs e)
{
// raise the event for attached delegates
if (Removing != null)
Removing(this, EventArgs.Empty);
}
}

最终结果:

以上示例生成以下网页。单击删除按钮时,该控件会消失:

Final product

祝你好运!

关于asp.net - 如何在aspx页面中查找用户控件的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4828628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com