我正在用Razor学习MVC并且有一个简单的问题(我认为)。我在视图中显示模型的内容时遇到问题,我不确定原因。
我的观点是.cshtml页面。 我正在将一个模型传递给IEnumerable类型
我无法得到#fore;'语句在下面的视图中运行。有趣的是<%字符在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 :(得分:0)
刷上Razor语法 - Razor不使用蜜蜂蜇(&lt;%)。试试这个:
@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>
}
答案 1 :(得分:0)
改变这个:
<% foreach (var checkIn in Model.CheckIn){ %>
<li><%: checkIn.ID %></li>
<% } %>
到此:
@foreach (var checkIn in Model.CheckIn) {
<li> @checkIn.ID </li>
}
不再使用来自aspx的预处理器指令,现在使用@。从Scott Gu查看此article,它解释了使用Razor View引擎语法。