我有一个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")
答案 0 :(得分:0)
如果要查找要放入局部视图的模型数据,则需要在ProductsController索引操作中执行此操作。 @ Html.Partial(“FeaturedProducts”)只是渲染局部视图,如果你想回到控制器看看用AJAX调用渲染局部视图。
答案 1 :(得分:0)
虽然控制器知道视图,但视图(完整或部分)不知道调用它们的控制器。这是一条单行道。
控制器负责将信息(model或viewModel)传递给视图。当“父视图”呈现局部视图时,“父视图”应该传递给部分视图所期望的部分信息。
在您的情况下,您可能需要在产品控制器中获取呈现产品视图和(部分)特色产品视图所需的信息。