AJM*_*AJM 6 asp.net user-controls
我想要一个包含保存按钮的用户控件.
我希望附加到保存按钮的click事件由包含页面而不是用户控件处理
这可能吗?
编辑更具体
假设我有一个名为"Editor Page"的页面和一个名为"Editor Buttons"的用户控件.在"编辑器按钮"用户控件上,我有一个保存按钮(这是一个Web控件).我希望保存按钮的Click事件由"编辑器页面"而不是用户控件处理.
这是因为我想指定实现常见行为的基页.
小智 6
该技术通常被称为"事件冒泡".
这是一个例子:
public partial class Test : System.Web.UI.UserControl
{
public event EventHandler buttonClick;
protected void Button1_Click(object sender, EventArgs e)
{
buttonClick(sender, e);
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以订阅事件按钮单击网页以显示不同的信息.
public partial class Test: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
UserControlID.buttonClick+=new EventHandler(UserControlID_buttonClick);
}
protected void UserControlID_buttonClick(object sender, EventArgs e)
{
Response.Write("hello,I am jack.");
}
}
Run Code Online (Sandbox Code Playgroud)
我将假设您拥有 UserControl 的代码。如果是这样的话,你可以在你的用户控件定义保存事件,并将它暴露的Click事件保存按钮,可以直接或通过在内部设置了一个事件处理程序,并单击按钮时抬高保存事件。在 UserControl 中可能看起来像这样:
public event EventHandler Save;
private void SaveButton_Click(object sender, EventArgs e)
{
OnSave(e);
}
protected void OnSave(EventArgs e)
{
// raise the Save event
EventHandler save = Save;
if (save != null)
{
save(this, e);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12621 次 |
| 最近记录: |