如上所述这两个都不起作用(来自Page_Load
):
Textbox1.Focus();
或
Page.SetFocus(Textbox1);
任何想法为什么?
这是控件本身:
<asp:TextBox ID="Textbox1" ClientIDMode="Static" CssClass="Textbox1"
runat="server" MaxLength="80"></asp:TextBox>
它位于页面上,两个母版页深。表单标签位于第二个母版页上,这就是为什么没有在那里设置焦点的原因。
没有工作:即firefox,chrome和safari(所有最新版本)。
帮助! 日Thnx
编辑:需要更多信息吗?我会做/发布任何事情只是告诉我该怎么做才能帮助你,我尝试了一切。甚至谷歌都没有结果,并且正在显示我的这个问题。
答案 0 :(得分:2)
<asp:Content ID="PlaceHolder1" ContentPlaceHolderID="PlaceHolder1"
runat="server">
我不知道那些ID(ID =“PlaceHolder1”)是如何到达的,但它们似乎是问题所在。
我想通过从头开始重新制作项目,看看焦点方法是否在那里工作,然后(除此之外,所以我可以在这里发布)我发现了这个差异。
这有效:
<asp:Content ContentPlaceHolderID="PlaceHolder1" runat="server">
希望这有时可以帮助别人......
答案 1 :(得分:1)
你试过这个吗?
<form id="Form1" defaultfocus="Textbox1" runat="server">
或者,因为您在MasterPage中提到了一个页面,因此它将位于ContentPlaceholder中:
ContentPlaceHolder cp = (ContentPlaceHolder) Master.FindControl("ContentPlaceHolder1");
cp.FindControl("Textbox1").Focus();
确保在aspx中引用您的Master:
<%@ MasterType VirtualPath="~/MyMaster.master" %>
答案 2 :(得分:0)
你可以在客户端事件window.onload = .....
中编写js代码控制文本框答案 3 :(得分:0)
如果您的页面使用母版页,则应首先找到文本框,然后设置文本框焦点。你还应该注意页面和主人的事件序列