0

ASP.NET Webフォームには、他のコントロールとは別に、値を入力するためのテキストボックス、値を表示するためのテキストボックス、ドロップダウンリストボックス、および検索ボタンがあります。次のコードを使用して検索結果を表示しています。

if (TextBox3.text == DropDownList3.Items.FindByText(TextBox3.Text).Value) 
{
  etc... 
}

DDL3はDataTableから値を取得し、TextBox3に入力された値は、検索ボタンがクリックされた後に検索結果を表示するためにDDL3値の1つと一致する必要があります。NullReferenceExceptionエラーは、TextBox3の値がnullであるか、DDL3のどの値とも一致しない場合に発生します。これは合理的です。しかし、私はこのエラーを処理するために数時間を費やしました、そして私はそれをどうやって解決するかを理解することができないようです。「ifTextBox3==nullなどの「If」ステートメントを追加しようとしましたが、役に立ちませんでした。null値または間違った値を補正するために上記のifステートメントを変更するにはどうすればよいですか?

ありがとうございました、

DFM

4

2 に答える 2

2

その例外でtry...catchを使用してみてください:

try {
    TextBox3.text = DropDownList3.Items.FindByText(TextBox3.Text).Value
} catch (NullReferenceException ex) {
    TextBox3.text = "(none)";
}
于 2009-05-14T15:07:45.817 に答える
1

値を確認する前に、アイテムがリストに存在するかどうかを確認する必要があります。

if (DropDownList3.Items.FindByText(TextBox3.Text) != null)
{
   // ...
}
于 2009-05-14T15:10:36.730 に答える