我需要一种如何在Umbraco中添加自定义html标头的方法。理想情况下,可以通过在页面编辑器中为该页面添加额外的文本框来修改此自定义字段的值(类似于页面标题框)。
这可能吗?
答案 0 :(得分:0)
你的意思是你想通过代码隐藏添加HTTP头吗?
假设您已经在相关文档类型上创建了textstring属性,您必须能够从代码隐藏代码或内联代码访问该属性,然后添加HTTP标头,也可以从代码隐藏中添加。
将C#代码添加到模板的最快方法是执行内联代码,例如
<script runat="server">
protected void Page_Init(object sender, EventArgs e)
{
}
</script>
或者,您可以将代码隐藏文件添加到模板(more info)
现在您可以运行服务器代码,您可以访问doc type属性并创建HTML标头。
umbraco.NodeFactory.Node currentNode = umbraco.NodeFactory.Node.GetCurrent();
umbraco.interfaces.IProperty httpHeader = currentNode.GetProperty("httpHeaderAlias");
当然,最后添加HTTP标头
Response.AddHeader("HeaderName", httpHeader.Value);
现在,将它添加到您的模板(母版页aspx):
<script runat="server">
protected void Page_Init(object sender, EventArgs e)
{
umbraco.NodeFactory.Node currentNode = umbraco.NodeFactory.Node.GetCurrent();
umbraco.interfaces.IProperty httpHeader = currentNode.GetProperty("httpHeaderAlias");
Response.AddHeader("HeaderName", httpHeader.Value);
}
</script>
(注意:代码适用于Umbraco 4.7)