我的web.config文件包含以下内容:
<applicationSettings>
<MyProject.Properties.Settings>
<setting name="TermsAndConditions" serializeAs="String">
<value><p>
My text here...
</p>
</value>
</setting>
</MyProject.Properties.Settings>
</applicationSettings>
然后在控制器中我有:
ViewBag.terms = Properties.Settings.Default.TermsAndConditions;
最后,在视图中我有:
<div class="col-lg-2">
@ViewBag.terms
</div>
网页上显示的内容实际上是下面的内容,而不是转换为HTML的<p>
标记:
<p> My text here... </p>
知道如何将标签转换为HTML吗?
答案 0 :(得分:2)
您不应使用web.config
来存储HTML。使用单独的XML文件。
E.g:
<SettingsHtml>
<Value>
<![CDATA[<p> My text here... </p>]]>
</Value>
</SettingsHtml>
在CDATA部分中包装HTML将确保在输出内容之前不需要对内容进行HTML编码。
<div class="col-lg-2">
@ViewBag.terms
</div>
HTML默认会对terms
值进行编码。
使用@Html.Raw():
<div class="col-lg-2">
@Html.Raw(ViewBag.terms)
</div>
答案 1 :(得分:0)
您已经对XML中的数据进行了html编码,因此您需要decode it。您还需要使用Html.Raw
输出HTML:
ViewBag.terms = HttpUtility.HtmlDecode(Properties.Settings.Default.TermsAndConditions);
<div class="col-lg-2">
@Html.Raw(ViewBag.terms)
</div>