使页面挥发后保持焦点
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" ontextchanged="TextBox1_TextChanged" TabIndex="1"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server" AutoPostBack="True" ontextchanged="TextBox2_TextChanged" TabIndex="2"></asp:TextBox>
<asp:TextBox ID="TextBox3" runat="server" AutoPostBack="True" ontextchanged="TextBox3_TextChanged" TabIndex="3"></asp:TextBox>
然后,在事件中,将焦点存入Session:
protected void TextBox1_TextChanged(object sender, EventArgs e) { Session["event_controle"] = ((TextBox)sender); } protected void TextBox2_TextChanged(object sender, EventArgs e) { Session["event_controle"] = ((TextBox)sender); } protected void TextBox3_TextChanged(object sender, EventArgs e) { Session["event_controle"] = ((TextBox)sender); }
最后,在页面生成时,载入焦点:
protected void Page_PreRender(object sender, EventArgs e) { try { if (Session["event_controle"] != null) { TextBox controle =(TextBox) Session["event_controle"]; controle.Focus(); } } catch (InvalidCastException inEx) { } }