2

述べたように、これらの両方は機能しません(からPage_Load):

Textbox1.Focus();

また

Page.SetFocus(Textbox1);

なぜですか?

これはコントロール自体です:

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

これは、2つのマスターページの深さのページにあります。フォームタグは2番目のマスターページにあるため、フォーカスが設定されていません。

動作しない:つまり、Firefox、Chrome、Safari(すべて最新バージョン)。

ヘルプ!thnx

編集:さらに情報が必要ですか?私は何でもします/投稿しますあなたが私を助けるために何をすべきか教えてください、私はすべてを試しました。グーグルでさえ結果がなく、私のこの質問を示しています。

4

4 に答える 4

3

わかりました、これが実際の問題のようです。

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

それらのID(ID = "PlaceHolder1")がどのようにしてそこに到達したのかわかりませんが、問題があるようです。

プロジェクトを最初から作り直して、そこでフォーカス方法が機能するかどうかを確認することでそれを理解しました。その後(とりわけ、ここに投稿できます)、この違いを見つけました。

これは機能します:

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

これが誰かに役立つことを願っています...

于 2010-05-17T17:41:02.013 に答える
2

これを試しましたか?

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

または、MasterPage内でページについて言及したため、ContentPlaceholderに含まれるようになります。

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

aspxでマスターを参照していることを確認してください。

<%@ MasterType VirtualPath="~/MyMaster.master" %>
于 2010-05-16T21:01:09.417 に答える
0

クライアントイベントwindow.onload=....でテキストボックスを制御するjsコードを書くことができます。

于 2010-05-17T00:03:10.933 に答える
0

ページでマスターページを使用している場合は、最初にテキストボックスを見つける必要があるため、テキストボックスのフォーカスを設定します。また、ページとマスターのイベントシーケンスにも注意する必要があります

于 2010-05-17T00:06:24.930 に答える