【发布时间】:2017-08-01 17:34:10
【问题描述】:
假设我有这样的观点:
@model Models.CustomerModel
@{
ViewBag.Title = "Details";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Details</h2>
<div>
@*<h4>ApplicationModel</h4>*@
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.FirstName)
</dt>
<dd>
@Html.DisplayFor(model => model.FirstName)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Surname)
</dt>
<dd>
@Html.DisplayFor(model => model.Surname)
</dd>
</dl>
</div>
假设 CustomerModel 也有一个 Orders 集合。 Order 类如下所示:
public class Order {
public int OrderID {get; set; }
public datetime OrderDate {get; set; }
如何将客户喜欢的所有订单放在同一个视图上?我试过这个(在上面的代码下):
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.OrderID)
</th>
<th>
@Html.DisplayNameFor(model => model.OrderDate)
</th>
</tr>
@foreach (var item in model.Orders)
{
<tr>
<td>
@Html.DisplayFor(item => item.OrderID)
</td>
<td>
@Html.DisplayFor(item => item.Description)
</td>
</tr>
}
我得到的错误是:
参数字典包含参数的空条目 方法的不可为空类型“System.Int32”的“orderid” 'System.Web.Mvc.ActionResult Delete(Int32)'。
如果我删除第二段代码(针对每个循环),那么它可以正常工作。如何添加第二段代码?
【问题讨论】:
-
使用
foreach是可以的。问题出在哪里?不行吗? -
您的标题与问题无关,也许我误解了一些东西。有什么问题?
-
@MegaTron,现在请看最后一段。
-
@jAC,现在请看最后一段。
-
该错误与调用您的
Delete()方法有关(与您显示的代码无关)
标签: c# asp.net-mvc