我有這個模型類:的foreach在空
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public DbSet<ForeignExpression> learnedexpressions { get; set; }
}
創建在控制器中dbset:
int userID = (int)Membership.GetUser().ProviderUserKey;
model.ForeignExpressions=db.UserProfiles.Find(userID).learnedexpressions;
然後在視圖中,我試圖把它們寫出來:
@foreach (var exp in Model.ForeignExpressions.OrderByDescending(m => m.dateAdded).Take(@numOfExpressions).ToList().OrderBy(m => m.dateAdded))
{
<tr>
<td> @exp.expression</td>
<td> @exp.meaning</td>
<td> "@exp.context"</td>
<td> @exp.dateAdded</td>
</tr>
}
但是,Model.ForeignExpressions爲空,所以我得到一個foreach的運行時錯誤(值不能爲空)。我懷疑這是因爲我目前還沒有任何ForeignExpression,所以learnedexpressions的值爲null。我是否正確,處理這個問題的最好方法是什麼?我應該在視圖,控制器還是模型中修復它?
在試圖使用它之前如何檢查'Model.ForeignExpressions'是否爲空? –