为什么Route Value没有传递给MVC控制器?

时间:2013-10-28 12:42:03

标签: c# asp.net-mvc

这里我在ViewModel中迭代了产品:

@foreach (var p in Model.Products)
{
    Html.RenderPartial("ProductSummary", p);
    <p>@Html.ActionLink("Details...", "Details", "Product", new { p.ProductID }, null)</p>
}

这是我在ProductController中的Details操作:

public ActionResult Details(int id = 1)
{
    return View();
}

id始终具有默认值= 1,但我需要选择的ProductID。我做错了什么?

1 个答案:

答案 0 :(得分:8)

new { p.ProductID }将创建一个具有ProductID属性的匿名类型。

路线值必须匹配,因此请使用new { id = p.ProductID }填充id参数。