2011-07-13 19 views
0

私はこの記事からhookonfocusメソッドを使用してきたい: ​​__LASTFOCUSの非表示フィールドが一部のASP.Netページのみに表示されるのはなぜですか?

特定の.aspxページのポストバック時に焦点を維持します。しかし、私はいくつかのページ(そしてテストプロジェクトのいくつかの非常に単純なページ)に隠しフィールド__LASTFOCUSが含まれていないことに気付きました。フォーカスがASPXページで発生したときに__LASTFOCUSを最新の状態に保つためにjavascriptを使用すると、この隠しフィールドが表示され、フォーカスを復元するために使用されるオプションがわかりません。

注:私はVS 2005/.Net 2.0を使用しています。

答えて

2

PostBackOptions.TrackFocusが設定されている場合__LASTFOCUSフィールドはから呼び出されPage.RegisterFocusScript()、...

に失敗コントロールの焦点を合わせるまた、チェックボックス、ListControl及びテキストボックスのOnPreRenderメソッド(およびその誘導体)で呼び出されます。私は、__LASTFOCUSフィールドを出力しないページにこれら3つのコントロールのバリアントが含まれていないと推測しています。

+0

恐ろしい!私はPage.SetFocus()をテストマスターページに置き、immeditatelyフィールドが私の期待どおりに表示されます。 (もちろん、それは私の他のページにあるように自動的に使用されていません。つまりフォーカスはそれに基づいて設定されていません。何らかの理由で手動で行う必要があります)。 –

+0

私はこれを私はまだ何かが欠けているように感じる: 'this.Page.SetFocus(Request.Form [" __ LASTFOCUS "] ?? this.Page.ID);' –

関連する問題