我怎样才能"冒泡"从用户控件到主页面的事件?但是,并不总是加载usercontrol,因为我在不同的用户控件中使用更新面板到ajax。
我找到this但是它假设usercontrol总是被加载?
编辑: 我查看了教程,但由于某种原因,事件工作需要两个。
这是要按下的按钮及其回调后面的代码
<asp:button runat="server" ID="profileSignOut" CssClass="btn btn-default" OnClick="profileSignOut_Click" Text="Sign Out"/>
protected void profileSignOut_Click(object sender, EventArgs e)
{
infoTB.Text += "\nclicked";
Session.Clear();
Session.Abandon();
if (SignOut != null)
SignOut(this, EventArgs.Empty);
}
usercontrol中定义的事件必须是静态的,否则主页面中的事件处理程序会抛出错误
public static event EventHandler SignOut;
和主页面中的处理程序
protected void Page_Load(object sender, EventArgs e)
{
Views.Profile.SignOut += new EventHandler(signOutEvent);
LoadUserControl();
}
private void signOutEvent(Object sender, EventArgs e)
{
MenuButtons.Visible = true;
LastLoadedControl = null;
LoadUserControl();
}