我的一个查看页面中有以下位置:

@* Html.Partial("Form")*@

  @{
    var role = Convert.ToInt32(Session["Role"]);
    if (role == 2)
    {
        Html.Partial("Form");
    }
}


Html.Partial("Form")在if语句之外时可以正常工作,并且可以使一切正常。

但是,当在if块内部不呈现任何内容时,如果命中了语句,这是真的,调试器eves读取该函数并进入Form Partial view并遍历其中的每一行,但最后页面上没有输出。

请帮助

最佳答案

在代码块中时,应使用RenderPartial方法。

Html.RenderPartial("Form");


Html.Partial返回一个HtmlString,如果它不在代码块内,则将呈现到页面。在您的情况下,Razor解析您的视图并将结果返回到您的代码中。由于您不执行任何渲染操作,因此不会获得输出。

关于.net - HTML.Partial在if语句下不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15699522/

10-13 05:56