2017-05-31 75 views
0

這是我爲它返回名稱和ID型號代碼...遍歷MVC模式,並返回

public class AccountType 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 

    public static AccountType[] ValidAccountTypes 
    { 
     get 
     { 
      return new[] 
     { 
      new AccountType 
      { 
       Id = 1, 
       Name = "Vendor" 
      }, 
      new AccountType 
      { 
       Id = 2, 
       Name = "Customer" 
      }, 
      new AccountType 
      { 
       Id = 3, 
       Name = "Demo" 
      } 
     }; 
     } 
    } 
} 

我想在html和遍歷返回與以下內容:

@model DemoApplication.Models.AccountType 

@foreach (var x in Model.Name) 
{ 
    <p> @x </p>   
} 

我得到「System.NullReferenceException:'對象引用未設置爲對象的實例的錯誤。」不太清楚在這裏做什麼,因爲我對MVC完全陌生......我已經閱讀了一些文檔,無濟於事。

更新:通過反覆試驗來了解我自己!

@foreach (var x in DemoApplication.Models.AccountType.ValidAccountTypes) 
    { 
     <p> @x.Name </p> 
    } 
+0

請同時在相關控制器中發佈Actionmethod,因爲這是將ViewModel傳遞給View的地方。 – Sigge

+2

'Model.Name'是一個字符串,你要遍歷'Model.VaidAccountTypes'並輸出'@ x.Name'。 –

+0

謝謝保羅是有道理的,但是當我改變循環到它仍然錯誤 – sm1l3y

回答

1

我希望你自己得到了解決,但你也可以用下面的代碼試試,它有優勢

@model DemoApplication.Models.AccountType 

@foreach (var x in Model.ValidAccountTypes) 
{ 
    <p> @x.Name </p>   
} 

通過將上述情況,你可以有強類型的意見,這將有多種用途。強類型的意見

優勢:

我們得到 1.智能感知和 2.編譯時錯誤檢查

希望以上是有益的,請讓我知道你的想法或反饋

感謝

KARTHIK