2016-06-16 52 views
0

valueパラメータがどこから来るのかわかりません。System.ArgumentNullException:値をnullにすることはできません。パラメータ名:値

ビュー:Ajax.BeginFormお問い合わせ:私はドロップダウンリストで[はい]を選択しますか、何の後

@Html.DropDownListFor(model => model.EXPENSE_REPORTABLE, new SelectList(
        new[] 
        { 
         new { Value = "true", Text = "Yes" }, 
         new { Value = "false", Text = "No" }, 
        }, 
        "Value", 
        "Text", 
        Model 
       ), 
       "-- Select --") 

、部分的なビューは、(gridWebGridのインスタンスである)のWebGrid内のデータを表示するためにレンダリングされません。列の一つは、エラーがスローされます:

grid.Column("expenseReportable","Expense Reportable?",format:@<text> 
<span class="display-mode">@item.EXPENSE_REPORTABLE </span> <!--error here --> 
@Html.RadioButton("GridCol_Expense", (Nullable<bool>)item.EXPENSE_REPORTABLE, true, new { @class="edit-mode"}) Yes   
@Html.RadioButton("GridCol_Expense", (Nullable<bool>)item.EXPENSE_REPORTABLE, false, new { @class="edit-mode"}) No 
       </text>, style:"col1Width"), 

モデルプロパティ:

public Nullable <bool> EXPENSE_REPORTABLE {get; set;} 

のInnerException:null

例外メッセージ:

Value cannot be null. Parameter name: value

+0

をitem.EXPENSE_REPORTABLE' 'の値は' 'することはできません' null'なので、次の行にスローされます( 'ラジオボタン(の第二パラメータ)であるため、エラーが最も可能性が高いです「ヌル」)。しかし、ラジオバートンのコードは、同じ値を持つ2つのラジオボタンを作成するため、とにかく意味をなさない。ラジオボタンが 'true'または' false'を返すようにしたいですか? (その場合、2番目と3番目のパラメータが間違っています) –

+0

いいえ、2番目のパラメータはラジオボタンの値です。 'item.EXPENSE_REPORTABLE'の値が' true'であれば、両方のラジオボタンを ''として生成します(これは少し無意味です) - item.EXPENSE_REPORTABLEの値が 'null'の場合、例外がスローされます。 –

+0

ラジオボタンは、編集ボタンを押すまで表示されないCSSクラス 'edit-mode'に実際属します。 –

答えて

0

をごGlobal.asaxファイルに以下のコードを追加します。 。

詳細については例外が表示されますが、間違っています。

void Application_Error(object sender, EventArgs e) 
{ // Attach break point here. 
    Exception TheError = Server.GetLastError(); //After execution of this line just check TheError variable. It will show you the details. 
    Server.ClearError(); 
} 

私はあなたのオブジェクトitem/gridがnullであるかもしれないか、それはいくつかのヌル性質を持っているかもしれないと思います。サーバーコード自体をデバッグするだけで、nullでないことを確認してください。

また、あなたの最後と会話で何がうまくいかないのかを推測することは非常に複雑です。このソリューションを試してみてください。

・ホープ、このことができます:)