umbraco学习8:macro参数
来源:互联网 发布:vb中asc是什么意思 编辑:程序博客网 时间:2024/05/17 02:50
macro的参数主要是针对.net macros而言,结合参数我们可以创建更加灵活的.net macros,笔者将参照umbraco官网上提供一个介绍macro参数的例子,来简单介绍下macro参数的使用。
首先创建一个名为DemoParameters的用户控件,控件包括两个属性:DefaultValue和DefaultPageId,DemoParametersControl.aspx的代码如下:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DemoParametersControl.ascx.cs" Inherits="starterKit.DemoParametersControl" %><div id="demoParametersContainer"> <div id="demoParametersHeader"> <h1>macro参数使用举例</h1> </div> <div id="demoParametersContent"> <span>Default Value: </span> <asp:Literal ID="litDefaultValue" runat="server"></asp:Literal> <span>Default Page ID: </span> <asp:Literal ID="litDefaultPageId" runat="server"></asp:Literal> </div></div>
后台代码DemoParametersControl.aspx.cs的代码如下:
public partial class DemoParametersControl : System.Web.UI.UserControl { public string DefaultValue { get; set; } public int DefaultPageId { get; set; } protected void Page_Load(object sender, EventArgs e) { if (!string.IsNullOrEmpty(DefaultValue)) { litDefaultValue.Text = DefaultValue; } else { litDefaultValue.Text = "No default value has been passed"; } if (DefaultPageId > 0) { litDefaultPageId.Text = DefaultPageId.ToString(); } } }
因为之前已经设置了编译后事件,所以编译成功后,相关文件已经拷贝到站点的相应目录下。创建一个名为Demo Parameters的macro,并设置相应的.net用户控件,如下图所示:
保存后,可以在user control一行下看到Browse Properties按钮,点击该按钮,可以看到用户控件中定义的两个公共属性,对应于macro的的参数,如下图所示:
点击save后,重新加载macro,在Parameters选项卡下可以看到对应的参数已经添加成功。在该选项卡下可以添加和删除参数。可以看到每个参数对应三个属性,分别为别名(Alias)、名称(Name)和类型(Type)。其中别名的命名必须和用户控件中定义的公共属性的命名一致,名称和类型已经给出了默认值,但是可以做相应的改动。改动后如下图所示:
为了测试我们创建的macro,将新创建的macro插入到相应的Template中。选择Home Template,在相应的位置插入macro,选择工具栏中的Insert Macro,选择Demo Parameters后,将弹出设置参数的对话框,设置好相应的参数后,如下图所示:
点确认后,Home Template中插入Demo Parameters Macro的代码段如下:
<umbraco:Macro DefaultValue="测试Macro参数,这里输入的是默认值" DefaultPageId="1151" Alias="DemoParameters" runat="server"></umbraco:Macro>
我们还可以在代码中直接编辑相应的参数值,为了查看效果,打开home页面,如下图所示:
可以看到Demo Parameters Macro添加成功。除了我们设置的参数之外,参数的值也可以为节点的属性值或浏览器中URL中包含的属性值,例如我们把插入的macro的代码修改如下:
<umbraco:Macro DefaultValue="[#pageTitle]" DefaultPageId="[@pid]" Alias="DemoParameters" runat="server"></umbraco:Macro>在浏览器地址后添加pid属性http://localhost/?pid=345,打开页面可以看到相应的参数值如下图所示:
关于.net macros,笔者就先介绍到这里,接下来几节笔者将介绍xslt macros。
- umbraco学习8:macro参数
- umbraco学习1: 安装
- umbraco学习3:Template
- umbraco学习4:Stylesheets
- umbraco学习5:Macros
- umbraco学习7:调试
- umbraco学习9:XSLT
- Umbraco学习笔记
- Umbraco 学习篇(前言)
- umbraco学习2:Document Types
- linux macro time_after学习
- umbraco学习6:macros之用户控件
- stdarg Macro 关于可变参数
- 模板参数:typedef,or macro
- macro与层次学习系统
- macro
- macro
- macro
- umbraco学习7:调试
- HIVE 动态分区与静态分区
- makefile:special macro
- thrift源码研究-server类研究总结
- 代码规范(怎样写代码看着舒服)
- umbraco学习8:macro参数
- The Distance
- 什么是心跳包
- POJ 2362 DFS+剪枝
- 解决win2008远程桌面授权过期的方法
- S3C2440之制作根文件系统
- UnicodeEncodeError: 'ascii' codec can't encode characters
- 全国各省市区域经纬度表!!!
- JAVA的中文字符乱码问题