将参数传递给我的.net脚本

时间:2014-01-10 21:52:12

标签: .net umbraco

好吧,我对Umbraco来说还是个新手,我想要解决一些问题。我写了一个简单的.net脚本:

@{string listString = Model.MyList;}

@{string[] listItems = listString.Split(':');}

<ul class="BulletedList PadBottom PadTop">
@foreach (string item in listItems)
{
    <li><span>@item</span></li>;
}
</ul>

我的内容部分中有自定义字段,我希望将此字段的内容放在模板的宏脚本而不是Model.MyList值中,我该怎么做?

这也是我想要完成的最佳实践/工作流程吗?

如何在脚本中编写变量来访问通过宏标记传入的变量?

由于

1 个答案:

答案 0 :(得分:0)

好的,找到了我自己的queston的anser,所以我会把它放在任何可能正在寻找同样事物的人身上。

要将内容字段值传递给宏,您需要使用括号语法[#propertyAlias]。因此,例如,如果我有一个名为“myCustomProperty”的页面字段自定义属性,我可以简单地将其插入宏中,如下所示:

<?UMBRACO_MACRO macroAlias="MyMacro" pageValue="[#myCustomProperty]" />

有关这方面的更多信息,请访问:http://our.umbraco.org/wiki/reference/templates/umbracomacro-element/macro-parameters/advanced-macro-parameter-syntax

这会将页面字段的值传递给您的宏。要在宏脚本(.net脚本)中查看它,您需要通过Parameter对象引用它。例如:

@{string myString = Parameter.fieldValue;}

所以示例脚本可能如下所示:

@{string myString = Parameter.fieldValue;}

@{string[] listItems = myString.Split(':');}

<ul class="BulletedList PadBottom PadTop">
@foreach (string item in listItems)
{
    <li><span>@item</span></li>;
}
</ul>

希望这有帮助。