Textbox1.Focus (); не работает; как не Page.SetFocus (Textbox1); Зачем? - PullRequest
1 голос
/ 16 мая 2010

как указано, оба они не работают (от 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

edit: нужна дополнительная информация? я сделаю / опубликую что-нибудь, просто скажите мне, что делать, чтобы помочь вам помочь мне, я пытался ВСЁ даже у Google нет результатов и он показывает мне этот вопрос.

Ответы [ 4 ]

2 голосов
/ 17 мая 2010

хорошо, вот что такое ФАКТИЧЕСКАЯ проблема.

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

Я понятия не имею, как эти идентификаторы (ID = "PlaceHolder1") попали туда, но они, похоже, являются проблемой.

Я понял это, переделав проект с нуля и посмотрев, работает ли там метод фокусировки, затем (среди прочего, чтобы я мог опубликовать здесь) я обнаружил эту разницу.

это работает:

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

надеюсь, это когда-нибудь кому-нибудь поможет ...

1 голос
/ 17 мая 2010

Вы пробовали это?

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

Или, так как вы упомянули страницу внутри MasterPage, она будет в держателе контента:

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

Убедитесь, что вы указали своего мастера в aspx:

<%@ MasterType VirtualPath="~/MyMaster.master" %>
0 голосов
/ 17 мая 2010

если ваша страница использует главную страницу, вы должны сначала найти текстовое поле, а затем установить фокус текстового поля. и вам также следует обратить внимание на последовательность событий страницы и мастера

0 голосов
/ 17 мая 2010

вы можете написать код js для управления текстовым полем в окне событий клиента .onload = .....

...