zoukankan      html  css  js  c++  java
  • 简单方法使页面回发后保持焦点

    本文将使用一个简单的方法使页面回发后还在同一个控件上保持焦点。
     
    一般来说,当页面回发后,原来的焦点控件将失去焦点。有很多文章讨论过这个话题,但是一般都是使用JQuery来解决的。我来教大家一个简单的方法:使用Session。
     
    首先在页面上放三个文本框 ,并且都生成Ontextchanged事件。
     
     <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)
                {
                }        
            } 
    
     
     
    本文译自codeproject.com 
  • 相关阅读:
    声明式编程和命令式编程的比较
    函数式编程
    读《暗时间》
    动态语言和静态语言的比较
    2013第二次实训
    for惠普2013实习生
    bat的大数据
    android stduio优化
    当move手势太快,降低频率
    ANR没root的时候处理*(转)
  • 原文地址:https://www.cnblogs.com/ranzige/p/FocusControl.html
Copyright © 2011-2022 走看看