System.ArgumentNullException:值不能为null。参数名称:value

时间:2016-06-16 23:05:52

标签: asp.net-mvc argumentnullexception

我不知道value参数来自哪里。

查看: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 --")

在下拉列表中选择是或否后,将呈现部分视图以在WebGrid中显示数据(gridWebGrid的实例)。其中一列引发错误:

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

异常消息:

  

值不能为空。参数名称:值

1 个答案:

答案 0 :(得分: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属性。通过调试服务器代码本身来确保它不为null。

同样很难猜到你最终会出现什么问题,而且谈话也会持续很长时间。试试这个解决方案。

希望这会有所帮助:)