zoukankan      html  css  js  c++  java
  • Set Focus to Control

    I was trying to set focus using the code

    this.ScriptManager1.SetFocus(myControlName.ClientID);

    and I wrote this code in my SelectedIndexChanged Event Function. That time this code didn't work.

    Now I changed this code to Page Load Function i.e.
    protected void Page_Load(object sender, EventArgs e)
    {
        
    if (!IsPostBack)
        {
            
    this.ScriptManager1.SetFocus(myControlName.ClientID);
        }
        
    else
        {
            
    this.ScriptManager1.SetFocus(GetPostBackControl(this.Page).ClientID);
        }



    Here I am using a function GetPostBackControl() to identify the current postbacking control and I am setting focus to the same control. If you want to move focus to any other control, just use a Switch Statment.
    public static System.Web.UI.Control GetPostBackControl(System.Web.UI.Page page)
    {
        Control control 
    = null;
        
    string ctrlname = page.Request.Params["__EVENTTARGET"];
        
    if (ctrlname != null && ctrlname != String.Empty)
        {
            control 
    = page.FindControl(ctrlname);
        }
        
    // if __EVENTTARGET is null, the control is a button type and we need to 
        
    // iterate over the form collection to find it 
        else
        {
            
    string ctrlStr = String.Empty;
            Control c 
    = null;
            
    foreach (string ctl in page.Request.Form)
            {
                
    // handle ImageButton controls  
                if (ctl.EndsWith(".x"|| ctl.EndsWith(".y"))
                {
                    ctrlStr 
    = ctl.Substring(0, ctl.Length - 2);
                    c 
    = page.FindControl(ctrlStr);
                }
                
    else
                {
                    c 
    = page.FindControl(ctl);
                }
                
    if (c is System.Web.UI.WebControls.Button ||
                c 
    is System.Web.UI.WebControls.ImageButton)
                {
                    control 
    = c;
                    
    break;
                }
            }
        }
        
    return control;
    }

  • 相关阅读:
    Gradle构建模块化项目
    线程池的理解与应用
    Redis理解
    kafka监听出现的问题,解决和剖析
    shiro利用过期时间,解决用户冻结踢出问题
    信息系统的运行与维护包含的主要内容
    软件维护的内容是什么
    执行顺序
    Chrome/Edge 91版本SameSite by default cookies被移除后的解决方案
    公从号编程
  • 原文地址:https://www.cnblogs.com/jintan/p/1273723.html
Copyright © 2011-2022 走看看