[英]Using a class in a Foreach (MVC)
我有一個問題! 在我的MVC中,它給我“ System.NullReferenceException:對象引用未設置為對象的實例”。 每當嘗試運行MVC時都會出現問題。
基本上,這是控制器中的代碼:
public PartialViewResult ViewAllFaults()
{
List<AdminLogEntries> faults = new FaultService.FaultServiceClient().GetAllOfFaultDetails().ToList();
ViewBag.ListOfFaults = faults;
return PartialView("_viewallfaults", faults);
}
這是我認為的代碼:
@foreach (Common.Views.AdminLogEntries item in ViewBag.ListOfFaults)
{
<tr>
<td>
@item.FaultID
</td>
{...}
這是我的課:
namespace Common.Views
{
public class AdminLogEntries
{
public string FaultID { get; set; }
public string Description { get; set; }
public int ProductID { get; set; }
public string Username { get; set; }
public DateTime LogDate { get; set; }
public int OrderID { get; set; }
public string Status { get; set; }
}
}
我讀了一些有關IEnumerable的信息,但無法真正實現或理解它。 感謝您的任何幫助!
所以我發現它甚至沒有通過控制器方法! 我一定用錯誤的方式來解決部分問題。 這是我在主視圖中寫的:
@Html.Partial("~/Views/Admin/_viewallfaults.cshtml");
那就是阻止它訪問我認為的控制器的原因。
嘗試將代碼更改為:
@foreach (Common.Views.AdminLogEntries item in Model)
當您將故障作為第二個參數的視圖模型傳遞給視圖時:
return PartialView("_viewallfaults", faults);
我不確定ViewBag是否可用於部分視圖...但是,您當前使用return PartialView("_viewallfaults", faults);
,那么您只需要遍歷您的模型!
@model List<Common.Views.AdminLogEntries>
...
@foreach (Common.Views.AdminLogEntries item in Model)
{
...
}
一目了然,在許多地方引用可能為空。 暫時添加一些空檢查,看看它可能在哪里。 如果添加一個調用棧,可能會有所幫助。
FaultService.FaultServiceClient().GetAllOfFaultDetails().ToList();
GetAllOfFaultDetails()是否為null?
AdminLogEntries項的ID是否為空?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.