我有一个名为Product的控制器和一个名为Product details的Partial View我想调用一个 在默认家庭控制器的索引视图中的子操作,这是我尝试过的,模型在视图中返回为null。
这是我的产品控制器 在这里ids我在视图中如何调用子动作。
@foreach (var product in Model)
{
Html.Action("DisplayProduct", new { product.Id, product.Name, product.Description, product.Price } ) ;
}
和
public class ProductController : Controller
{
//
// GET: /Product/
public ActionResult Index()
{
List<Product> products = new List<Product>()
{
new Product { Id =1, Name ="Product 1", Description ="Description 1", Price = 10m},
new Product { Id =2, Name ="Product 2", Description ="Description 2", Price = 20m},
new Product { Id =3, Name ="Product 3", Description ="Description 3", Price = 30m},
new Product { Id =4, Name ="Product 4", Description ="Description 4", Price = 40m}
};
return View(products);
}
[ChildActionOnly]
public ActionResult DisplayProduct(Product product)
{
return PartialView("DisplayProduct", product);
}
}
答案 0 :(得分:0)
您使用new { product.Id, product.Name, product.Description, product.Price }
创建匿名类型 - 只需直接提供产品:
@foreach (var product in Model)
{
@Html.Action("DisplayProduct", product)
}
如果您的子操作只返回部分,则根本不需要它,因为您可以直接调用部分:
@foreach (var product in Model)
{
@Html.Partial("DisplayProduct", product)
}