参考文件:
<script src="../../Content/dp.SyntaxHighlighter/Scripts/shCore.js" type="text/javascript"></script>
<script src="../../Content/dp.SyntaxHighlighter/Scripts/shBrushXml.js" type="text/javascript"></script>
<link href="../../Content/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" rel="stylesheet" type="text/css" />
html代码:
<pre class="brush:xml;">
@Html.Encode("<?xml version='1.0'?><response value='ok' xml:lang='en'> <text>Ok</text> <comment html_allowed='true'/> <ns1:description> descriptin. </ns1:description> <a></a> <a/></response>")
</pre>
JavaScript代码:
<script type="text/javascript">
SyntaxHighlighter.all()
</script
这里有参考tutorial
答案 0 :(得分:0)
如果您查看源代码,您会注意到,由于@
已经对文本进行了编码,而@Html.Encode(..)
再次对其进行了编码,因此您将对XML进行两次删除。因此,您没有获得SyntaxHighlighter未正确的输出作为代码。
使用此示例进行测试,一切正常:
<!DOCTYPE html>
<html>
<head>
<link href="http://alexgorbatchev.com/pub/sh/current/styles/shCore.css"
rel="stylesheet" type="text/css" />
<link href="http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css"
rel="stylesheet" type="text/css" />
</head>
<body>
@{
var xml = @"
<?xml version='1.0'?>
<response value='ok' xml:lang='en'>
<text>Ok</text>
<comment html_allowed='true'/>
<ns1:description> descriptin. </ns1:description>
<a></a>
<a/>
</response>";
}
<pre class="brush: xml">
@xml
</pre>
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js"
type="text/javascript"></script>
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shAutoloader.js"
type="text/javascript"></script>
<script type="text/javascript">
SyntaxHighlighter.autoloader(
'xml xhtml xslt html http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js'
);
SyntaxHighlighter.all();
</script>
</body>
</html>