0

ページの読み込み時に Nullpoint 例外が発生します。どうすれば防ぐことができますか?

protected override void InitializeCulture() 
{ 
    base.InitializeCulture();
    if (DropDownList1.SelectedItem.Value != null) // NULL POINT EXCEPTION THROWN HERE
    {
       //
    }
} 
4

2 に答える 2

0

InitializeCulture通常、ページのライフ サイクルの早い段階で呼び出されます (ビューステートなどが読み込まれる前に呼び出されるため、コントロールを参照するのに問題が生じる可能性があります)。おそらく、ドロップダウン リストで選択した値を使用して現在のカルチャを設定したいと考えています。そのためにはRequest.Form、コントロール参照を使用するのではなく、をスニッフィングする必要があります。例えば、

protected override void InitializeCulture() 
{ 
    base.InitializeCulture();
    var selectedCulture = Request.Form["DowndownListName"];
    if (!string.IsNullOrEmpty(selectedCulture))
    {
       ...
    }
}

DowndownListNameUniqueIDは、サーバー側コントロール (および、レンダリングされた html ソース内のレンダリングされた select 要素の name 属性) である必要があります。ソースにハードコーディングできる静的な名前を付けるには、(サーバー コントロールの代わりに) HTML コントロールを使用することをお勧めします。

于 2013-01-18T07:18:03.550 に答える
0

DropDownList1 と SelectedItem の両方が null でないことを確認するか、null でないポイントにコードを移動するか、DropDownList1.SelectedItem を確認する前に、DropDownList1 または SelectItem が null かどうかを確認するように if ステートメントを変更することにより、NullReferenceException を回避します。価値。

于 2013-01-18T06:58:03.363 に答える