我想根据模型中设置的内容呈现HTML预定义标记(在h2到h6之间)。以下是片段。我在结束标签中遇到问题。不处理结束标记,它被视为文本,并在页面视图源中被截断。
string subArticleLevel = "h2";
if(subarticle.SubTitleLevel!=null)
{
subArticleLevel = subarticle.SubTitleLevel;
}
<@subArticleLevel>@subarticle.SubTitle</@subArticleLevel>
答案 0 :(得分:1)
您可以将Html.Raw
方法与显式代码块表示法一起使用。
@Html.Raw("<")@(subArticleLevel)@Html.Raw(">")@(subarticle.SubTitle)
@Html.Raw("</")@(subArticleLevel)@Html.Raw(">")
或
如果您已经在代码块中,只需使用@:
前缀来表示它是html块的开头。以下应该可以正常工作。
@{
string subArticleLevel = "h2";
string subarticleSubTitle = "test";
@:<@subArticleLevel>@subarticleSubTitle</@subArticleLevel>
}
答案 1 :(得分:0)
我不确定您使用的是什么版本的MVC但如果您使用的是#6,则可能只使用c#字符串插值。
@Echo Off & SetLocal EnableDelayedExpansion
Set "FileA=File1.txt"
Set "FileB=File2.txt"
<%FileB% (For /f "delims=" %%A in (%FileA%) Do (
Set "B="&Set /P "B="
Echo:%%A-!B!
)) >newfile.txt
我还没试过,但是如果你得到html编码,你可以试试。
@($"<{subArticleLevel}>{subarticle.SubTitle}</{subArticleLevel}>")
如果你没有c#6,你可以试试。
@Html.Raw($"<{subArticleLevel}>{subarticle.SubTitle}</{subArticleLevel}>")