<% foreach (var item in Model) { %>
<tr>
<td>
我的foreach语句中出现错误,该语句表示对象引用未设置为Model上对象的实例。它只是在模型上没有任何东西。 我已经创建了LinqToSql作为我的模型......我想知道缺少什么。
答案 0 :(得分:1)
出现此错误的原因是您的模型为null。确保您的视图是对此模型的强类型,并且您在控制器操作中传递模型:
public ActionResult Foo()
{
IEnumerable<Bar> model = FetchTheModelFromSomewhereAndMakeSureItIsNotNull();
return View(model);
}
现在在您的视图中,您可以循环使用编辑器/显示模板:
<table>
<thead>
<th>Id</th>
<th>Name</th>
</thead>
<tbody>
<%= Html.DisplayForModel() %>
</tbody>
</table>
并在相应的显示模板(~/Views/Shared/DisplayTemplates/Bar.ascx
)中:
<%@ Control
Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<AppName.Models.Bar>"
%>
<tr>
<td><%= Html.DisplayFor(x => x.Id) %></td>
<td><%= Html.DisplayFor(x => x.Name) %></td>
</tr>
答案 1 :(得分:1)
脱离我的头顶,
public ActionResult Index()
{
var model = from m in Context.table
select m;
return View(model);
}
然后确保在视图...
中引用视图模型<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage<CreditCards.ViewModels.TransactionViewModel>" %>