簡體   English   中英

在Foreach(MVC)中使用類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM