我的一个 View 页面中有以下位置:
@* Html.Partial("Form")*@
@{
var role = Convert.ToInt32(Session["Role"]);
if (role == 2)
{
Html.Partial("Form");
}
}
Html.Partial("Form")
当它在任何 if 语句之外时工作正常并呈现一切正常。但是当在
if
内部时 block 它什么也不渲染,如果语句被命中,这是真的,调试器 eves 读取函数并转到 Form Partial view
并遍历其中的每一行,但最后页面上没有输出。请帮助
最佳答案
当您在代码块内时,您应该使用 RenderPartial 方法。
Html.RenderPartial("Form");
Html.Partial 返回一个 HtmlString,如果它不在代码块内,它将被呈现到页面。在您的情况下,Razor 会解析您的 View 并将结果返回给您的代码。由于您没有做任何事情来渲染它,因此您不会得到输出。
关于.net - Html.Partial 在 if 语句下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15699522/