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

问题描述 投票:0回答:1

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

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

这是我得到的完整错误:

错误CS1973'HtmlHelper'没有名为'Partial'的适用方法,但似乎有一个名称的扩展方法。无法动态分派扩展方法。

c# asp.net-mvc partial-views
1个回答
0
投票

我设法通过将Html.Partial()的内容转换为字符串来解决这个问题:Html.Partial((string)ViewBag.Test)。然后我把它放在一个if语句中来检查ViewBag.Test是否为null,因为当没有分配ViewBag.Test时发生错误。

这就是我最终得到的结果:

@if (ViewBag.Test != null)
{
    @Html.Partial((string)ViewBag.Test)
}
© www.soinside.com 2019 - 2024. All rights reserved.