C# MVC 5 Razor视图未在if条件下呈现HTML
这是MVC5Razor视图代码:ForestView.cshtmlC# MVC 5 Razor视图未在if条件下呈现HTML,c#,html,asp.net-mvc,razor,asp.net-mvc-5,C#,Html,Asp.net Mvc,Razor,Asp.net Mvc 5,这是MVC5Razor视图代码:ForestView.cshtml @model Forest.Tree @{ var resultHtml = string.Empty; } <div id="divTreeSearch> @(Html.Kendo().PanelBar(). Name("panelbar") .Items(panelbar =>
@model Forest.Tree
@{
var resultHtml = string.Empty;
}
<div id="divTreeSearch>
@(Html.Kendo().PanelBar().
Name("panelbar")
.Items(panelbar =>
{panelbar.Add()
.Content(@<text>@Html.Partial("_TreeSearch", Model, ViewData)</text>);}))
</div>
<div id="divTreeSearchResult">
@if(Model.TreeResultObj != null)
{
resultHtml = Html.ContentFromPartial("_TreeReport", Model.TreeResultObj);
@Html.Raw(resultHtml); -- Not working
@Html.Raw(HttpUtility.HtmlDecode(resultHtml)); -- Not Working
Html.Raw(resultHtml); -- Not working
Html.Raw(HttpUtility.HtmlDecode(resultHtml)); -- Not Working
Model.resultStringSaved = resultHtml;
@Html.DisplayText("resultStringSaved"); -- Not Working
@Html.Raw("<text>Test</text>") -- Even this is not working
}
@Html.Raw(Model.resultStringSaved) -- Not Working
@Html.Raw(HttpUtility.HtmlDecode(Model.resultStringSaved)) -- Not Working
@Html.DisplayText("resultStringSaved") -- Not Working
@Html.Raw("<text>Test</text>") -- This is Working
</div>
@model-Forest.Tree
@{
var resultHtml=string.Empty;
}
此时,您只需调用一个方法并忽略结果。尝试:
@: @Html.Raw(resultHtml)
@:
切换到输出模式。注意:如果您使用的是清晰的标记,它会自动切换。例如:
<div>@Html.Raw(resultHtml)</div>
@Html.Raw(resultHtml)
1-呈现的内容应该违反HTML语法,Razor通常不会呈现错误的HTML内容。
2-在一整天进行了无数次测试之后,将HTML.Raw(resultHtml)放入dev.:
更改使用:
@Html.Raw(Html.DisplayFor(modelItem => item.Mensagem))
作者:
你将得到渲染的HTML与你任何 我也面临着同样的问题,但我可以继续工作。我想在for循环中打开一个div start并有条件地结束它
将任何伪HTML元素放在@HTML.Raw之前
<div id="divTreeSearchResult">
@if(Model.TreeResultObj != null)
{
resultHtml = Html.ContentFromPartial("_TreeReport", Model.TreeResultObj);
<span>dummySpan</span>
@Html.Raw(resultHtml);
@Html.Raw(HttpUtility.HtmlDecode(resultHtml));
@Html.Raw(resultHtml);
@Html.Raw(HttpUtility.HtmlDecode(resultHtml));
Model.resultStringSaved = resultHtml;
@Html.DisplayText("resultStringSaved");
@Html.Raw("<text>Test</text>")
}
@Html.Raw(Model.resultStringSaved)
@Html.Raw(HttpUtility.HtmlDecode(Model.resultStringSaved))
@Html.DisplayText("resultStringSaved")
@Html.Raw("<text>Test</text>")
</div>
@if(Model.TreeResultObj!=null)
{
resultHtml=Html.ContentFromPartial(“_TreeReport”,Model.TreeResultObj);
杜米斯潘
@Html.Raw(resultHtml);
@Html.Raw(HttpUtility.HtmlDecode(resultHtml));
@Html.Raw(resultHtml);
@Html.Raw(HttpUtility.HtmlDecode(resultHtml));
Model.resultStringSaved=resultHtml;
@DisplayText(“resultStringSaved”);
@Html.Raw(“测试”)
}
@Html.Raw(Model.resultStringSaved)
@Html.Raw(HttpUtility.HtmlDecode(Model.resultStringSaved))
@Html.DisplayText(“resultStringSaved”)
@Html.Raw(“测试”)
在您放置一个虚拟html元素之后,下面的@html.Raw命令都将生效
快乐编码
Tarak@Dobbins他们显然已经试过了,在这个问题中,我的意思是TreeResultObj
是null
TreeResultObj不是null,而且我正在从LoadContents中取回HTML字符串,我正在试着Marc Gravell的建议,你在视图中放了断点吗,并试图查看TreeResultObj的值?它不起作用。。。HTML字符串很好-但是当我查看页面源代码时,我可以看到div'divTreeSearchResult',但它是空的。。。HTML字符串中包含节和javascript函数。。。这可能是原因吗?我甚至不能显示如下内容:@:@Html.Raw(resultset),它已经包含在标记中。我还检查了源html,看起来不错。。。。房间在那里,但它是空的。谢谢
<div id="divTreeSearchResult">
@if(Model.TreeResultObj != null)
{
resultHtml = Html.ContentFromPartial("_TreeReport", Model.TreeResultObj);
<span>dummySpan</span>
@Html.Raw(resultHtml);
@Html.Raw(HttpUtility.HtmlDecode(resultHtml));
@Html.Raw(resultHtml);
@Html.Raw(HttpUtility.HtmlDecode(resultHtml));
Model.resultStringSaved = resultHtml;
@Html.DisplayText("resultStringSaved");
@Html.Raw("<text>Test</text>")
}
@Html.Raw(Model.resultStringSaved)
@Html.Raw(HttpUtility.HtmlDecode(Model.resultStringSaved))
@Html.DisplayText("resultStringSaved")
@Html.Raw("<text>Test</text>")
</div>