我需要在复合C1网站中包含一些不强制执行严格的XHTML / XML的.cshtml / razor页面。
ie - 例如,当前任何未关闭的标签会阻止页面加载。
客户需要这个;有可能吗?
由于
答案 0 :(得分:2)
在CDATA部分中包装错误/不安全标记。由于在Composite C1渲染引擎中主要需要严格的XML要求,并且通常不关心浏览器,因此Composite C1将CDATA部分视为“杂乱的标记”,它不会解析,而只是发出raw:
<div>
<![CDATA[
Bad & ugly HTML!<br>
]]>
</div>
它将无阻碍地通过Composite C1并以:
出现<div>
Bad & ugly HTML!<br>
</div>
以上引自http://docs.composite.net/Layout/Writing-XHTML
以下是使用Razor语法的简单示例:
<div>
<![CDATA[
@{
string unstructuredMarkup = "Bad & ugly HTML!<br>";
@Html.Raw(unstructuredMarkup);
}
]]>
</div>
答案 1 :(得分:2)
您可以将函数的Return Type设置为string(默认为htmlDocument)。您可以通过覆盖ReturnType属性来完成此操作,如此
@functions
{
protected override Type FunctionReturnType
{
get { return typeof(string); }
}
}