代码之家  ›  专栏  ›  技术社区  ›  b0x0rz

Textbox1.Focus();不起作用;as不Page.SetFocus(Textbox1);为什么?

  •  1
  • b0x0rz  · 技术社区  · 16 年前

    如前所述,这两个都不起作用(从 Page_Load ):

    Textbox1.Focus();
    

    Page.SetFocus(Textbox1);
    

    知道为什么吗?

    <asp:TextBox ID="Textbox1" ClientIDMode="Static" CssClass="Textbox1"
                    runat="server" MaxLength="80"></asp:TextBox>
    

    它位于一个页面上,两个母版页深。表单标签在第二个母版页上,所以焦点没有设置在那里。

    救命啊! thnx公司

    4 回复  |  直到 16 年前
        1
  •  2
  •   b0x0rz    16 年前

    好吧,这就是实际问题所在。

    <asp:Content ID="PlaceHolder1" ContentPlaceHolderID="PlaceHolder1"
        runat="server">
    

    我不知道这些ID(ID=“PlaceHolder1”)是怎么到那里的,但它们似乎是问题所在。

    这样做有效:

    <asp:Content ContentPlaceHolderID="PlaceHolder1" runat="server">
    

    希望这有助于某人,某个时候。。。

        2
  •  1
  •   Dennis Rongo    16 年前

    <form id="Form1" defaultfocus="Textbox1" runat="server"> 
    

    或者因为您在母版页中提到了某个页面,所以它将位于ContentPlaceholder中:

        ContentPlaceHolder cp = (ContentPlaceHolder) Master.FindControl("ContentPlaceHolder1");
        cp.FindControl("Textbox1").Focus();
    

    <%@ MasterType VirtualPath="~/MyMaster.master" %>
    
        3
  •  0
  •   user341295    16 年前

    您可以在客户端事件窗口的文本框中编写js代码控件。。。。。

        4
  •  0
  •   user341295    16 年前