2012-09-05 57 views
0

大家好我想從控制器返回一個數組來查看。這裏是我的控制器:如何從控制器返回一個數組以在MVC3中查看?

public ActionResult Index() 

     { 
      TahakkukServicesClient client = new TahakkukServicesClient(); 
      client.ClientCredentials.UserName.UserName = "service_test"; 
      client.ClientCredentials.UserName.Password = ".."; 
      client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.None; 
      MakbuzList[] liste = client.GetMakbuzListe(2); 
      return View(liste); 
     } 

    } 
} 

那麼我怎麼能顯示我的數組在我的看法?

+0

我只是喜歡本地化代碼...;)人們可以在這裏寫一個超級進攻的問題,我們不知道它。 :) –

+0

http://www.howmvcworks.net/OnViews/BuildingAStronglyTypedView – dotjoe

回答

1

MakbuzList[]「是」一個IEnumerable<MakbuzList>(注:如今,通用列表/收藏品通常優於陣列)

所以,你可以強烈地輸入您的看法一樣,

@model IEnumerable<MakbuzList> 

與顯示值這樣的

@if (Model.Any()) { 
    foreach (var makbuz in Model) { 
    @Html.DisplayFor(x => makbuz.Property1) 
    } 
} 
+0

IIRC這不會工作,因爲表達式必須始終解析從模型本身開始顯示的對象。我不是100%確定。 – Jon

+0

@Jon對於editorFor和binding(你需要一個for循環),它不能很好地工作,但我可以告訴你它對於DisplayFor會很好。 –

0

假設視圖已經與

配置210
@model IList<MakbuzList> 

然後,你可以簡單地做

@for (var i = 0; i < Model.Count; ++i) { 
    @Html.DisplayFor(m => m[i]); 
} 
+0

它不工作我得到這個錯誤沒有擴展方法「長度」 – Teodoris

+0

@Teodoris:對不起,錯字。 「計數」是正確的。 – Jon

相關問題