2

我有一个文本字符串属性类型,用于在页面标题中显示“siteName”:

<title><umbraco:Item runat="server" field="siteName" recursive="true" /></title>

我需要在我的 .net 用户控件中添加什么代码来添加“siteName”?

<asp:Label ID="siteName" runat="server" Text="siteName should go here!"></asp:Label>

任何人都可以帮忙吗?

我已将此添加到 Umbraco 论坛并建议以下内容,但不确定如何将其包含在我的 .ascx 文件中:

dynamic node = new umbraco.MacroEngines.DynamicNode(umbraco.NodeFactory.Node.GetCurrent()); siteName.Text = node._siteName; 
4

2 回答 2

1

您可以在用户控件中使用它

//var node = new Node(123); // Get node by Id, good if you have information on a certain page

var node = Node.GetCurrent(); // Get the current node
var nodeProperty = node.GetProperty("siteName").Value;
siteName.Text = nodeProperty;
于 2012-10-07T07:42:55.093 回答
0

您希望在用户控件中有一个公共属性,然后当您通过宏将用户控件公开给 umbraco 时,该属性也将成为宏的参数。

当您在模板中引用宏时,您可以通过 page 属性。

您可能想查看 Umbraco 电视:

http://umbraco.com/help-and-support/video-tutorials/introduction-to-umbraco/developer-introduction/macro-parameters.aspx

还有一个旧的(但大部分是准确的)pdf:

http://umbraco.com/media/42a0202c-b0ba-4f84-bcf1-64dfd5230322-usingcontrolswithumbraco.pdf

于 2012-10-04T23:39:30.300 回答