【问题标题】:Can Html.Partial() accept a ViewBag to determine the partial view to render?Html.Partial() 可以接受 ViewBag 来确定要渲染的局部视图吗?
【发布时间】:2019-08-11 07:41:13
【问题描述】:

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

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

这是我得到的完整错误:

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

【问题讨论】:

  • 请提供完整的错误信息。
  • @habib 请看我的编辑
  • 您已经可以访问局部视图中的 ViewBag。

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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多