asp.net-mvc-4 - 为什么 Razor HTML Partial View 没有在 'If' block 之间呈现?

标签 asp.net-mvc-4 razor

我正在尝试根据 ViewBag 条件呈现 Razor html Partial View ,但我总是遇到编译错误。

 @{

     if (ViewBag.Auth)
     {
        @Html.RenderPartial("_ShowUserInfo")
     }

 }

我也试过...
 @if (ViewBag.Auth)
 {
    @Html.RenderPartial("_ShowUserInfo")
 }

Error message:
Compiler Error Message: CS1502: The best overloaded method match for                  
'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' 
has some invalid arguments

最佳答案

您需要投 ViewBag.Authboolean

 @if ((bool)ViewBag.Auth)
 {
    @{ Html.RenderPartial("_ShowUserInfo");  } 
 }

您还需要使用 @{ }RenderPartial 的语法

关于asp.net-mvc-4 - 为什么 Razor HTML Partial View 没有在 'If' block 之间呈现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19900817/

相关文章:

asp.net-mvc - 如何避免在 MVC4 中使用 ViewBag 在 Controller 和 View 之间传递查询值

javascript - 重新加载时订阅函数被多次调用

mysql - 如何使用 petapoco MVC4 创建联接

javascript - 如何像在 Javascript 中一样在 C# 中匹配两个数组?

javascript - addRemoveLinks 在我的 Dropzone 上不起作用

performance - 调试慢速 Razor View

c# - 如何在 C# 中向枚举值添加描述以与 ASP.NET MVC 中的下拉列表一起使用?

c# - 如何解决?假设程序集引用 'System.Web.Mvc

c# - 如何在 asp.net mvc 3 razor View 中访问应用程序变量?

asp.net-mvc-3 - 将类添加到 Razor View 模型中的 Ajax.BeginForm 调用