我对sitecore和.net都很陌生,而且我正在慢慢掌握它。但我对这个问题感到困惑,因为它似乎违背了我在论坛和sitecore文档中所读到的内容。我只是想将字段添加到html标记的属性中。例如,我在子布局文件中有这个。
<title><%= Sitecore.Context.Item["Page Title"] %></title>
<meta name="description" content='<%= Sitecore.Context.Item["Description"] %>' />
预览的结果输出是这个。
<title>Inputted Page Title</title>
<meta name="description" content="<%= Sitecore.Context.Item["Description"] %>" />
Sitecore似乎只是把它作为一个字符串抓住。
之前有人见过这个或看到我可能出错的地方吗?
答案 0 :(得分:1)
首先,如果你在这里描述它真的发生了,那就是一个ASP.NET解析错误,与Sitecore无关。
完整性检查#1:这真的是所有代码吗?您的元标记上没有runat =“server”属性?因为那肯定会引起这种问题。
如果没有,这不应该发生......但是......我觉得使用这个结构有时候更可靠:
<meta name="description" content=<%="\"" + Sitecore.Context.Item["Description"] + "\""%> />
有点讨厌,但可能会在这里工作。或者尝试标记周围的单引号。一般来说,如果你有任何&lt; %%&gt; HTML输出中的标签存在严重错误。
答案 1 :(得分:1)
另一个选择是在C#中绑定它:
HtmlMeta metaKeywords = new HtmlMeta();
metaKeywords.Name = "Description";
metaKeywords.Content = Sitecore.Context.Item["Description"];
Header.Controls.Add(metaKeywords);
答案 2 :(得分:0)
我明白了。下面的行是正确的语法,但它是使用其内部文件资源管理器的sitecore事情。 Sitecore将编码&lt;创建ascii <
。
<meta name="description" content="<%= Sitecore.Context.Item["Description"] %>"
我必须使用文件浏览器的原因是因为客户IT部门不允许我访问服务器文件。所以最后他们做了,当我直接访问文件并保存所有工作。谢谢大家的反馈。