1

ポストバックを処理しているときに、Web ページで奇妙な問題が発生しました。エラーは次のとおりです。

エラー : 指定された引数は有効な値の範囲外です。パラメーター名: 値 説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.ArgumentOutOfRangeException: 指定された引数が有効な値の範囲外でした。パラメータ名: 値

ソース エラー:

現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。

スタックトレース:

[ArgumentOutOfRangeException: 指定された引数が有効な値の範囲外でした。パラメーター名: 値]
System.Web.UI.WebControls.Unit..ctor(文字列値、CultureInfo カルチャ、UnitType defaultType) +8670188
System.Web.UI.WebControls.Unit.Parse(文字列 s、CultureInfo カルチャ) +31
Infragistics .Web.UI.Framework.ControlObject.ConvertToUnit(Object obj, Unit def, Boolean allowNegative) +399 Infragistics.Web.UI.LayoutControls.WebDialogWindow.get_Top() +74 Infragistics.Web.UI.LayoutControls.DialogWindowBot.LoadClientPropsTransactionList(Dictionary `2 リスト) +350
Infragistics.Web.UI.Framework.ObjectBase.LoadTransactionList(Boolean deferLoadPostDataProcessing) +57
Infragistics.Web.UI.Framework.RunBot.LoadClientData() +57 Infragistics.Web.UI.Framework.RunBot.HandleLoadPostData(String postDataKey, NameValueCollection postCollection) +14
Infragistics.Web.UI.Framework.ControlMain.LoadPostData(String postDataKey, NameValueCollection postCollection) +19
System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +693
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1743

説明

スタック トレースを見ると、.NET がまだコードを通過していないことが簡単にわかります。そのため、ブレークポイントを配置できません。さらに奇妙なことは、まったく同じプロセスですが、(私のページの) 異なるデータを使用すると、非常にうまく機能することです。私を助けてください、私は約3時間それに取り組んでいます!

アップデート

失敗した場合 (今のところ 30 個のテストで 2 つのオブジェクトのみ)、Postback でのみ失敗すると言わざるを得ません。Infragistics webdialogwindow と Web コントロールを使用して、「可視」のようなプロパティ (サイズではなく非表示または通常) を処理するページになります。しかし、誰かが以下で言ったように(あなたの名前を思い出せなくてすみません)、それは確かにwebdialogwindowに関するものですが、私はその位置を処理しません...

更新 2

データベースから varchar(max) 列の値を削除しようとしましたが、今は機能しています!! 問題は、この列の値を保持しなければならないことです!!! それについてどう思うか知っている人はいますか?この varchar(max) は、データリストで Eval("DescriptionMemo") として表示されます。

4

5 に答える 5

1

あなたの更新を考えると、これは経験に基づいた推測です。

Infragistics WebDialog コンポーネントについてはよくわかりませんが、ほとんどのダイアログはページの中央にあります。列がダイアログの配置に関係している場合、表示されているデータのサイズに基づいてダイアログの位置を計算している可能性があります。

データが大きすぎて表示できない場合、理論的には Unit クラスの値の許容範囲外の位置にダイアログが配置される可能性があります。

列が非表示の場合は、ダイアログがウィンドウに収まり、座標 (具体的には、スタック トレースに表示される上位座標) が負になるため、すべて問題ありません。表示される場合、ダイアログはブラウザ ウィンドウの範囲を超えて広がるため、ダイアログは表示されません。

それはすべて単なる理論と憶測ですが、ここで見ることができるものに基づいています.

于 2009-10-27T23:56:41.173 に答える
1

System.Web.UI.WebControls.Unit無効なパラメーター セットを使用してコンストラクターを呼び出しているか、何らかの方法でこれを不適切に初期化しています。

aspx ページの WebControl のどこかにユニットを設定していますか?

于 2009-10-27T18:50:11.970 に答える
0

うわー!大丈夫です!私が言えるのは、 Infragistics webdialogwindow を IntialLocation を "Centered" に設定して使用している場合です。ページの上部に配置します (「ポップアップ」であるため、ページ コンテンツの上に配置します)。私の問題は、ページが 32000px の長さ (正確な長さはわからない) を超えると、ポップアップが int32 に入れることができないウィンドウ cuz を正しく見つけることができなかったということだったので... うわー。なんてバグ

于 2009-10-27T20:00:54.403 に答える