C# 为什么路由值没有传递给MVC控制器?
在这里,我在我的ViewModel中迭代产品:C# 为什么路由值没有传递给MVC控制器?,c#,asp.net-mvc,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> } id总是有一个默认值=1,但我需要选择的ProductID。我做错了什么?n
@foreach (var p in Model.Products)
{
Html.RenderPartial("ProductSummary", p);
<p>@Html.ActionLink("Details...", "Details", "Product", new { p.ProductID }, null)</p>
}
id
总是有一个默认值=1,但我需要选择的ProductID
。我做错了什么?new{p.ProductID}
将使用ProductID
属性创建一个匿名类型
路由值必须匹配,因此使用new{id=p.ProductID}
填充id
参数
public ActionResult Details(int id = 1)
{
return View();
}