繁体   English   中英

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

[英]Can Html.Partial() accept a ViewBag to determine the partial view to render?

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

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

这是我得到的完整错误:

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

我设法通过将Html.Partial()的内容转换为字符串来修复此问题: Html.Partial((string)ViewBag.Test) 然后我将它放在if语句中以检查ViewBag.Test是否为null,因为在未分配ViewBag.Test时运行时发生错误。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM