Html.Partial()可以接受ViewBag来确定要渲染的局部视图吗?

时间:2019-03-20 14:50:54

标签: c# asp.net-mvc partial-views

所以我正在使用Html.Partial()来渲染局部视图。这是一个非常基本的MVC应用程序,可帮助我理解部分视图和整个MVC。

我有一个带有下拉菜单的表格,该下拉菜单更改了所述下拉菜单下方显示的内容。如果选择“一个”,将显示“一个”,与“两个”相同。这是使用在我的控制器中更改的ViewBag。但是,我希望通过局部视图显示它。所以我有这个@Html.Partial(ViewBag.Test)。这根本不起作用,它会给出CS1973错误。

这是我得到的完整错误:

错误CS1973“ HtmlHelper”没有名为“ Partial”的适用方法,但似乎具有该名称的扩展方法。扩展方法不能动态调度。

1 个答案:

答案 0 :(得分:0)

我设法通过将Html.Partial()的内容强制转换为字符串Html.Partial((string)ViewBag.Test)来解决此问题。然后,我将其放入if语句中,以检查ViewBag.Test是否为空,因为未将ViewBag.Test的运行方式分配给该错误。

这就是我最终成功的结果:

@if (ViewBag.Test != null)
{
    @Html.Partial((string)ViewBag.Test)
}