html - 如何使用 xsl 值选择器输出原始 html?
问题描述
我正在修改一个 xsl 文档,我需要添加一大块在 C# 中动态生成的 html。我认为最简单的方法是让我的函数返回一个原始 HTML 字符串并在 xsl 中显示它,但它显示为纯文本而不是 HTML:
<xsl:value-of select="bcs:GetProvinceHtml()"/>
public string GetProvinceHtml()
{
var provinces = GetProvinces();
bool french = Sitecore.Context.Language == Language.DefaultLanguage;
var html = "<ul>";
foreach (var prov in provinces)
{
var url = "";
if (string.IsNullOrEmpty(HttpContext.Current.Request.Url.Query))
{
url = string.Format("{1}?province={0}&lang={2}",
prov.Code.ToLower(), HttpContext.Current.Request.Url, french ? "fr-CA" : "en-CA");
}
else
{
var nameValues = HttpUtility.ParseQueryString(HttpContext.Current.Request.QueryString.ToString());
if (nameValues["province"] != null)
{
nameValues.Set("province", prov.Code.ToLower());
}
else
{
nameValues.Add("province", prov.Code.ToLower());
}
if (nameValues["lang"] == null)
{
nameValues.Add("lang", french ? "fr-CA" : "en-CA");
}
url = HttpContext.Current.Request.Url.AbsolutePath;
url = url + "?" + nameValues;
}
html += String.Format("<li><a href='{0}'>{1}</a></li>", url,
!french ? prov.Name : prov.FrenchName);
}
html += "</ul>";
return html;
}
如何将我的 HTML 字符串输出为 HTML 而不是纯文本?