DOBON.NETプログラミング掲示板過去ログ
Page_Loadで現在のValidationGroupを取得する方法はありますか?
題名: Page_Loadで現在のValidationGroupを取得する方法はありますか?
著者: kiyo7447
日時: 2007/05/28 10:48:45
ID: 19768
この記事の返信元:
(なし)
この記事への返信:
[19769]
Re[1]: Page_Loadで現在のValidationGroupを取得する方法はありますか?
kiyo7447
2007/05/28 13:08:01
ツリーを表示
環境/言語:[.NET Framework2.0/ASP.NET/Ajax(Microsoft Ajax Toolskit)]
分類:[ASP.NET]
こんにちは。アべです。
Ajax(Microsoft Ajax Toolkit)を使用してアプリケーションを作成しております。
UpdatePanelを使用したエラー処理で入力エラー後にフォーカスの制御を
入れたいと考えており、それを実装するためにPage_Loadイベントで
現在のValidationGroupを取得したいと考えておりますが、
そのやり方がわからずに困っております。
補足
エラー後のフォーカス処理は、非同期通信が終った後に
自動的に行われるので、通常のフレームワークの制御
にまかせてValidatorのSetForcusOnErrorプロパティで機能しません。
独自にフォーカス制御を入れたいのですが、現在のPostBackで
ValidationGroupの取得が出来ずに困っております。
どなたかやり方のわかる方がおりましたら、ヒントでも宜しいで
アドバイスをお願いいたいます。
---
阿部清隆
題名: Re[1]: Page_Loadで現在のValidationGroupを取得する方法はありますか?
著者: kiyo7447
日時: 2007/05/28 13:08:01
ID: 19769
この記事の返信元:
[19768]
Page_Loadで現在のValidationGroupを取得する方法はありますか?
kiyo7447
2007/05/28 10:48:45
この記事への返信:
(なし)
ツリーを表示
すみません。自己解決しました。
ベースページのOnPreRenderを実装し、そこで、Ajaxの非同期通信後の
フォーカス遷移処理とValidatorのエラー後のフォーカス移動処理を
入れて対応できました。
Page_Load⇒validator⇒Page_PreRenderイベントと続くらしいので、
フォーカスの処理は全てPage_PreRenderイベント内で実装して
見たところ上手く処理できました。
有難うございました。
↓こんなイメージ
protected override void OnPreRender(EventArgs e)
{
string controlToValidate = "";
if (IsPostBack == true)
{
controlToValidate = 入力エラーのコントロールID取得();
}
else
{
フォーカスコントロールをフックする(HookOnFocus(this.Page as Control);
}
if (controlToValidate != "" && IsValid == false)
{
ScriptManager.RegisterStartupScript(
this,
typeof(_Default),
"ScriptDoFocus",
SCRIPT_DOFOCUS.Replace("REQUEST_LASTFOCUS", controlToValidate),
true);
}
else
{
ScriptManager.RegisterStartupScript(
this,
typeof(_Default),
"ScriptDoFocus",
SCRIPT_DOFOCUS.Replace("REQUEST_LASTFOCUS", Request["__LASTFOCUS"]),
true);
}
base.OnPreRender(e);
}
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[ASP.NET]
こんにちは。アべです。
Ajax(Microsoft Ajax Toolkit)を使用してアプリケーションを作成しております。
UpdatePanelを使用したエラー処理で入力エラー後にフォーカスの制御を
入れたいと考えており、それを実装するためにPage_Loadイベントで
現在のValidationGroupを取得したいと考えておりますが、
そのやり方がわからずに困っております。
補足
エラー後のフォーカス処理は、非同期通信が終った後に
自動的に行われるので、通常のフレームワークの制御
にまかせてValidatorのSetForcusOnErrorプロパティで機能しません。
独自にフォーカス制御を入れたいのですが、現在のPostBackで
ValidationGroupの取得が出来ずに困っております。
どなたかやり方のわかる方がおりましたら、ヒントでも宜しいで
アドバイスをお願いいたいます。
---
阿部清隆