[CLOSED] Set focus

  1. #1

    [CLOSED] Set focus

    Hi ,
    i have a problem with set focus on PageLoad in a page that work with MasterPage with ext.net controls.. if i try with a standard MasterPage it works and i have no problem ..
    maybe you can help me ...

    this is the masterPage:
    <%@ Master Language="VB" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <!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 id="Head1" runat="server">
        <title>Ext.Net Example</title>
    </head>
    <body>
        <form id="Form1" runat="server">
        <ext:ResourceManager ID="ResourceManager1" runat="server" />
        <ext:Viewport ID="Viewport1" runat="server">
            <Items>
                <ext:BorderLayout ID="BorderLayout1" runat="server">
                    <West>
                        <ext:Panel ID="Panel1" runat="server" Split="true" Frame="true">
                            <TopBar>
                                <ext:Toolbar ID="Toolbar1" runat="server">
                                    <Items>
                                        <ext:Label ID="Label1" runat="server" Html="<span style='font-weight:bold; color:red;'>TestMaster</span>|<span style='font-weight:bold; color:black;'>Page</span>" />
                                    </Items>
                                </ext:Toolbar>
                            </TopBar>
                            <Content>
                                <div id="Div1" class="CenPH">
                                    <asp:ContentPlaceHolder ID="FKeyPH" runat="server" />
                                </div>
                            </Content>
                        </ext:Panel>
                    </West>
                    <Center>
                        <ext:FormPanel ID="Panel2" runat="server" Height="700" AutoScroll="true" Frame="true">
                            <TopBar>
                                <ext:Toolbar ID="Toolbar2" runat="server">
                                    <Items>
                                        <ext:ToolbarFill />
                                        <%-- FIXME remove or parametrize under debug mode --%>
                                        <ext:Label ID="Label2" runat="server" />
                                        <ext:ToolbarFill />
                                    </Items>
                                </ext:Toolbar>
                            </TopBar>
                            <Content>
                                <div id="centralDiv" class="CenPH">
                                    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" />
                                </div>
                            </Content>
                        </ext:FormPanel>
                    </Center>
                    <South>
                        <ext:Panel ID="Panel3" runat="server" Frame="true">
                            <Content>
                                <div id="Div2" class="CenPH">
                                    <asp:ContentPlaceHolder ID="MsgPH" runat="server" />
                                </div>
                            </Content>
                        </ext:Panel>
                    </South>
                </ext:BorderLayout>
            </Items>
        </ext:Viewport>
        </form>
        <asp:ContentPlaceHolder ID="PageScriptPH" runat="server" />
    </body>
    </html>

    Page .aspx
    <%@ Page Language="VB" AutoEventWireup="true" CodeFile="TestCursor.aspx.vb" Inherits="Views_AbfertigungsCode_TestCursor"  MasterPageFile="~/Themes/Current/MasterPageAT.master"%>
    <%@ Register Assembly="SISA.TransIT.Core" Namespace="SISA.TransIT" TagPrefix="sisa" %>
     
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
     
     <script runat="server">
         Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
             Me.TextBox1.Focus()
         End Sub
          </script>
     
    <asp:Content ID="Content1" runat="server" ContentPlaceHolderID="ContentPlaceHolder1" >
        <asp:Label ID="FirstName" runat="server" Text="First Name" Style="z-index: 1; left: 2px;
            top: 21px; position: absolute"></asp:Label>
        <asp:TextBox ID="TextBox1" runat="server" Style="z-index: 1; left: 60px; top: 20px;
            position: absolute"></asp:TextBox>
                 
    </asp:Content>
    Last edited by geoffrey.mcgill; Sep 08, 2011 at 6:04 PM. Reason: [CLOSED]
  2. #2
    First, do not replace any widgets outside ViewPort
    Second, use AutoFocus and AutoFocusDelay properties of widgets to set the focus
  3. #3
    Vladimir,
    the problem is the following:
    when i use the MasterPage 1 EXT.net, the cursor doesn't position to the TextBox1 widget in the content page (see code in page_Load Method).
    When i use MasterPage 2 without any Ext.net component the cursor is set correctly .


    MasterPage 1 EXT.net
    <%@ Master Language="VB" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <!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 id="Head1" runat="server">
        <title>Ext.Net Example</title>
    </head>
    <body>
        <form id="Form1" runat="server">
        <ext:ResourceManager ID="ResourceManager1" runat="server" />
        <ext:Viewport ID="Viewport1" runat="server" AutoFocus="true">
            <Items>
                <ext:Panel ID="Panel2" Region="Center" runat="server" Height="700" AutoScroll="true"
                    Frame="true">
                    <Content>
                        <div id="centralDiv" class="CenPH">
                            <asp:ContentPlaceHolder ID="CenPH" runat="server" />
                        </div>
                    </Content>
                </ext:Panel>
            </Items>
        </ext:Viewport>
        </form>
    </body>
    </html>
    MasterPage 2 Standard
    <%@ Master Language="VB" CodeFile="MasterPageAT2.master.vb" Inherits="Themes_Current_MasterPageAT2" %>
    
    <!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>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ContentPlaceHolder ID="CenPH" runat="server">
            </asp:ContentPlaceHolder>
        </div>
        </form>
    </body>
    </html>
    Content Page
    <%@ Page Language="VB" AutoEventWireup="true" CodeFile="TestCursor.aspx.vb" Inherits="Views_AbfertigungsCode_TestCursor"
        MasterPageFile="~/Themes/Current/MasterPageAT.master" %>
    
    <%@ Register Assembly="SISA.TransIT.Core" Namespace="SISA.TransIT" TagPrefix="sisa" %>
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <script runat="server">
        Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            Me.TextBox1.Focus()
        End Sub
    </script>
    <asp:Content ID="Content1" runat="server" ContentPlaceHolderID="CenPH">
        <asp:Label ID="FirstName" runat="server" Text="First Name" Style="z-index: 1; left: 2px;
            top: 21px; position: absolute">   </asp:Label>
        <asp:TextBox ID="TextBox1" runat="server" Style="z-index: 1; left: 60px; top: 20px;
            position: absolute">  
        </asp:TextBox>
    </asp:Content>
  4. #4
    Ext.Net widgets are rendered via javascript code (when DOM tree is ready) therefore ASP.Net Focus method is called too early
    You can use
    ResourceManager.GetInstance().Listeners.DocumentReady.Handler = string.Format("Ext.get('{0}').focus();", TextBox1.ClientID);
    For Ext.Net widgets you can use AutoFocus and AutoFocusDelay properties. By the way, why do you use ASP.Net TextBox instead Ext.Net TextField?

Similar Threads

  1. [CLOSED] Is there any way to know where the focus is going?
    By supera in forum 2.x Legacy Premium Help
    Replies: 4
    Last Post: Jan 26, 2012, 2:35 PM
  2. [CLOSED] [1.0] Focus on combo box
    By betamax in forum 1.x Legacy Premium Help
    Replies: 10
    Last Post: Jan 18, 2012, 7:33 PM
  3. [CLOSED] Button Focus
    By SymSure in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Mar 07, 2011, 1:45 PM
  4. [CLOSED] Focus
    By speedstepmem2 in forum 1.x Legacy Premium Help
    Replies: 5
    Last Post: Sep 16, 2009, 9:58 AM
  5. [CLOSED] grid row focus
    By speedstepmem4 in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: May 12, 2009, 1:18 PM

Posting Permissions