zoukankan      html  css  js  c++  java
  • IE中控制焦点(asp.net)

    使用母版页,Ajax UpdatePanel包含的下拉框,点击下拉框PostBack之后focus不奏效,第二次点击下拉框PostBack之后focus奏效????

    JS

    function resetFocus(id){
              var obj=document.getElementById(id);
              if(obj) obj.focus();
          }

    C#

    ScriptManager.RegisterStartupScript(this, this.GetType(), "resetFocusJS", "resetFocus(\"" + ddlRegion.ClientID + "\");", true);

    ------------------------------

    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="TESTPAGE.master.cs" Inherits="TESTPAGE" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
            <script language="javascript" type="text/javascript">
       function resetFocus(id){
            var obj=document.getElementById(id);
            if(obj) obj.focus();
              //document.getElementById(id).select();
          }    
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
          <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
        <div>
            <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
            </asp:contentplaceholder>
        </div>
        </form>
    </body>
    </html>

    ------------------------------

    <%@ Page Language="C#" MasterPageFile="~/TESTPAGE.master" AutoEventWireup="true" CodeFile="test2.aspx.cs" Inherits="test2" Title="Untitled Page" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
       Region:
                    <asp:DropDownList runat="server" ID="ddlRegion" DataValueField="Region_Id" DataTextField="Name"
                        AutoPostBack="true" OnSelectedIndexChanged="ddlRegion_SelectedIndexChanged">
                        <asp:ListItem>1</asp:ListItem>
                        <asp:ListItem>2</asp:ListItem>
                    </asp:DropDownList>
            </ContentTemplate>
        </asp:UpdatePanel>
    </asp:Content>

    ------------------------------

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public partial class test2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void ddlRegion_SelectedIndexChanged(object sender, EventArgs e)
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "ResetFilter", "resetFocus(\"" + ddlRegion.ClientID + "\"); ", true);

        }
    }

    ------------------------------

    Solution:

    ScriptManager.RegisterStartupScript(UpdatePanel1, typeof(UpdatePanel), "fuck", "setTimeout(\"document.all('ctl00$ContentPlaceHolder1$ctl01$Jbyj').focus();\",100);", true);

    注:Firefox不需要额外控制焦点,自动保留焦点在最后操作的控件上。

    http://blog.sina.com.cn/s/blog_4473b2d10100arg5.html

    http://www.cnblogs.com/njnudt/archive/2008/11/18/1335948.html

  • 相关阅读:
    浅谈Chrome V8引擎中的垃圾回收机制
    selenium反爬机制
    03 HTTP协议与HTTPS协议
    HTTP缓存机制和原理
    python 自动发送邮件
    02 Anaconda的介绍,安装记以及使用
    01 关于jupyter的环境安装
    SQLAlchemy
    django-debug-toolbar
    flask 第十篇 after_request before_request
  • 原文地址:https://www.cnblogs.com/emanlee/p/1637724.html
Copyright © 2011-2022 走看看