在部分视图上调用索引操作

时间:2011-06-21 14:32:32

标签: asp.net-mvc asp.net-mvc-3

我有一个View(Products.cshtml),一个Partial View(FeaturedProducts.cshtml),两个控制器(ProductsController和FeaturedProductsController),两个模型(Products和FeaturedProducts)。

我在View(Products.cshtml)中渲染部分视图(FeaturedProducts.cshtml)。 FeaturedProductsController的索引操作与DB对话,并返回一个列表并在FeaturedProducts.cshtml中填充控件。我希望每次渲染时调用部分视图控制器(FeaturedProductsController)的索引操作。

这是我在View(Products.cshtml)中所做的,但它不会调用FeaturedProductsController的Index操作。我在这里错过了什么吗?

@Html.Partial("FeaturedProducts") 

2 个答案:

答案 0 :(得分:0)

如果要查找要放入局部视图的模型数据,则需要在ProductsController索引操作中执行此操作。 @ Html.Partial(“FeaturedProducts”)只是渲染局部视图,如果你想回到控制器看看用AJAX调用渲染局部视图。

这应该有所帮助:asp.net MVC partial view controller action

答案 1 :(得分:0)

虽然控制器知道视图,但视图(完整或部分)不知道调用它们的控制器。这是一条单行道。

控制器负责将信息(model或viewModel)传递给视图。当“父视图”呈现局部视图时,“父视图”应该传递给部分视图所期望的部分信息。

在您的情况下,您可能需要在产品控制器中获取呈现产品视图和(部分)特色产品视图所需的信息。