我在aspx页面内有一个用户控件,在aspx页面加载之后,当我点击该用户控件里面的一些按钮时,我想在完成按钮点击动作和aspx页面后重点回到用户控件再次加载。
答案 0 :(得分:0)
您需要在用户控件中有一个事件,允许.aspx页面订阅该事件,以便在表单回发后可以将焦点设置为用户控件中的元素,如下所示:
public class UserControlClass
{
// Define event that will be raised by user control to anyone interested in handling the event
public event UC_Button1ClickEventHandler UC_Button1Click;
public delegate void UC_Button1ClickEventHandler();
// Mechanism to allow event to be raised by user control
private void Button1_Click(System.Object sender, System.EventArgs e)
{
if (UC_Button1Click != null)
{
UC_Button1Click();
}
}
}
现在在.aspx页面中,您需要在用户控件中订阅该事件,并说明实际处理该事件的方法,如下所示:
userControl1.UC_Button1Click += Button1_Click;
最后,click事件处理程序需要存在,如下所示:
public void Button1_Click(object sender, EventArgs args)
{
// Set focus here to user control element, text box for example
((TextBox)userControl.FindControl("TextBox1")).Focus();
}