2012-02-08 15 views
2

私はRazorでMVCを学習しており、簡単な質問があります(私は思う)。ビューの中にモデルの内容を表示するのに問題があり、その理由がわからない。シンプルなMVC Razorレンダリングビューの問題

私のビューは.cshtmlページです。 IEnumerable型のモデルを渡しています

'foreach'文を以下のビューで実行することはできません。興味深いのは<%の文字はVisual Studioでは黄色で表示されないので、何かが見逃されている可能性があります。何か案は?ここに私のビューコードは...

@model IEnumerable<HERE_MVC.Models.CheckIn> 

@{ 
    ViewBag.Title = "Home"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

<h2>Home - Main page</h2> 

<% foreach (var checkIn in Model.CheckIn){ %> 
    <li><%: checkIn.ID %></li> 
<% } %> 

ですそして、私のコントローラのコードは次のようになります...

public ActionResult Home(string lat, string lon) 
    { 
     ViewBag.Message = "Welcome to HERE!"; 

     HEREModel m = new HEREModel(); 
     var v1 = m.GetEntitiesByLatLon(lat, lon); 
     return View(v1); 
    } 

は、私はしばらくの間、これをうまくしようとしてきた、事前にありがとうございますが、運がない。

答えて

0

Razor構文でブラシをかける - かみそりは蜂の刺さり(<%)を使用しません。これを試してみてください:

@model IEnumerable<HERE_MVC.Models.CheckIn> 

@{ 
    ViewBag.Title = "Home"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

<h2>Home - Main page</h2> 

@foreach (var checkIn in Model.CheckIn) { 
    <li>@checkIn.ID</li> 
} 
0

変更この:これに

<% foreach (var checkIn in Model.CheckIn){ %> 
    <li><%: checkIn.ID %></li>  
<% } %> 

:ASPXから

@foreach (var checkIn in Model.CheckIn) { 
    <li> @checkIn.ID </li>  
} 

プリプロセッサディレクティブが使用されなくなった、今@が使用されています。 Scott Guのarticleをチェックして、Razor Viewエンジン構文の使用方法について説明します。