2015-05-13 87 views
1

我有一個不尋常的問題,在我託管我的網站(本地工作就好)的服務器上。不尋常的「價值不能爲空」

在一個post請求中,我將一些值傳遞給一個列表,以防萬一我從模型中得到的錯誤消息無效,所以當用戶進行更改時數據可以保留在屏幕上(數據I'米指的是在一個表,用表格的同一頁)

@if (Model.IncomeExpensesViewModel.LastSixIncomeExpenses.Count() > 0) 
{ 
for (var i = 0; i < Model.IncomeExpensesViewModel.LastSixIncomeExpenses.Count(); i++) 
{ 
@Html.HiddenFor(m => m.IncomeExpensesViewModel.LastSixIncomeExpenses[i].Sum, new { @Value = Model.IncomeExpensesViewModel.LastSixIncomeExpenses[i].Sum }) 
@Html.HiddenFor(m => m.IncomeExpensesViewModel.LastSixIncomeExpenses[i].Tag, new { @Value = Model.IncomeExpensesViewModel.LastSixIncomeExpenses[i].Tag }) 
@Html.HiddenFor(m => m.IncomeExpensesViewModel.LastSixIncomeExpenses[i].Date, new { @Value = Model.IncomeExpensesViewModel.LastSixIncomeExpenses[i].Date }) 
@Html.HiddenFor(m => m.IncomeExpensesViewModel.LastSixIncomeExpenses[i].Type, new { @Value = Model.IncomeExpensesViewModel.LastSixIncomeExpenses[i].Type }) 
    } 
} 

所以,當我提交的輸入信息,我得到的錯誤

Value cannot be null. Parameter name: source 

在這一行上

@if (Model.IncomeExpensesViewModel.LastSixIncomeExpenses.Count() > 0) 

Model.IncomeExpensesViewModel.LastSixIncomeExpensesList<SingleIncomeExpenseViewModel>

我試圖與計數()和任何()。它沒有工作。

有人可以幫助我嗎?

+0

您是否嘗試過'.Count'沒有括號? –

+1

@EBrown Count()是IEnumerables中的一種方法。 – PoweredByOrange

+3

你確定'Model.IncomeExpensesViewModel.LastSixIncomeExpenses'不爲null嗎?這是例外情況。 –

回答

0

您必須將您的對帳單更改爲@if (Model.IncomeExpensesViewModel.LastSixIncomeExpenses != null && Model.IncomeExpensesViewModel.LastSixIncomeExpenses.Count() > 0),因爲您無法枚舉空值收集。

.Any()相同 - 它不檢查集合是否爲空,因此在此情況下引發異常。