- PR -

'Page_Validators'は宣言されていません

1
投稿者投稿内容
たかひろ
会議室デビュー日: 2002/08/06
投稿数: 8
投稿日時: 2002-09-02 12:39
こんにちは。
実はちょっと困っています。

ASP.NETアプリケーションを作成したのですが
一部の端末でエラーが出る場合があるのです。

ページ上のボタンをクリックすると
別のページへ
Response.Redirect("○×△.aspx")
でジャンプするのですが
クリックした瞬間に
「'Page_Validators'は宣言されていません。デバッグしますか?」
と表示されるのです。
ここで「いいえ」をクリックすると、問題無く次のページへジャンプします。

一部の端末だけなのです。
IEは5.0, 5.5SP2, 6.0でバラバラです。

どなたか似たような現象と解決法を御存知の方はいませんか?

よろしくお願いします。
たかひろ
会議室デビュー日: 2002/08/06
投稿数: 8
投稿日時: 2002-09-02 15:12
自己レスです。
すみません。

原因がわかりました。

DataGridのテンプレート列にテキストボックスとValidatorを配置しています。
その列を、ある条件によって Visible を切り替えていました。

Visible=True の場合
<script language="javascript">
<!--
var Page_Validators = new Array(document.all["DataGrid1__ctl2_RangeValidator1"], document.all["DataGrid1__ctl3_RangeValidator1"], document.all["DataGrid1__ctl4_RangeValidator1"], document.all["DataGrid1__ctl5_RangeValidator1"], document.all["DataGrid1__ctl6_RangeValidator1"], document.all["DataGrid1__ctl7_RangeValidator1"], document.all["DataGrid1__ctl8_RangeValidator1"]);
// -->
</script>

という宣言文が自動生成されており
ボタンのクリックイベント時にこの定義が読まれているようです。


Visible=False の場合は
生成されていませんでした。
にもかかわらず、ボタンのクリックイベントでは読込もうとしているようです。

要注意ですね。
困ったものです。
結局、テンプレート列のValidatorは外しました。
1

スキルアップ/キャリアアップ(JOB@IT)