Kooboo CMS - Html.FrontHtml.Position 详解
DataContract
数据契约
http://www.cnblogs.com/Gavinzhao/archive/2010/06/01/1748736.html
https://msdn.microsoft.com/zh-cn/library/system.runtime.serialization.datacontractattribute.aspx
Html.FrontHtml.Position("main") 详解
1.首先我们打开工程文件,在搜索框里写上FrontHtml查找到FrontHtmlHelper类,如下图:

下面是关于Position的相关方法。
#region Position
public virtual IHtmlString Position(string positionID)
{
return Position(positionID, "");
} public virtual IHtmlString Position(string positionID, string defaultContent)
{
return Position(positionID, () => defaultContent);
}
public virtual IHtmlString Position(string positionID, Func<string> defaultContentFunc)
{
if (PageContext.PageRequestContext.RequestChannel == FrontRequestChannel.Design)
{
return new PageDesignHolder(this, positionID);
}
else
{
var positions = GetContentsForPosition(positionID);
if (positions.Length == )
{
defaultContentFunc = defaultContentFunc == null ? () => "" : defaultContentFunc;
return new HtmlString(defaultContentFunc());
}
else
{
var htmlStrings = RenderPositionContents(positions).ToArray();
return new AggregateHtmlString(htmlStrings);
} }
} public virtual IHtmlString Position(string positionID, bool requireMembershipAuthentication, params string[] membershipGroups)
{
if (PageContext.PageRequestContext.RequestChannel == FrontRequestChannel.Design)
{
return new PageDesignHolder(this, positionID);
}
else
{
if (requireMembershipAuthentication)
{
var permission = new PagePermission() { RequireMember = requireMembershipAuthentication, AllowGroups = membershipGroups };
if (!permission.Authorize(Html.ViewContext.HttpContext.Membership().GetMember()))
{
return new HtmlString("");
}
}
return Position(positionID);
}
}
下面来详细解释下。
一共有4个重载函数分别是:
public virtual IHtmlString Position(string positionID)
public virtual IHtmlString Position(string positionID, string defaultContent)
public virtual IHtmlString Position(string positionID, Func<string> defaultContentFunc)
public virtual IHtmlString Position(string positionID, bool requireMembershipAuthentication, params string[] membershipGroups)
这里如果有不明白的话可以,可以参考一下以下的知识:
1.positionID的意思就是你的HTML元素的ID。
2.如果对() => defaultContent)不理解的人,可以参看这里
3.对于Func<string>不理解的可以看这里
Kooboo CMS - Html.FrontHtml.Position 详解的更多相关文章
- Kooboo CMS - @Html.FrontHtml().Meta()详解。
下面是代码: public virtual IHtmlString Meta() { AggregateHtmlString htmlStrings = new AggregateHtmlString ...
- Kooboo CMS - @Html.FrontHtml().HtmlTitle() 详解
首先我们找到这个类. 这个类有如下的方法: #region Title & meta [Obsolete("Use HtmlTitle")] public IHtmlStr ...
- Kooboo CMS - Html.FrontHtml[Helper.cs] 各个方法详解
下面罗列了方法详解,每一个方法一篇文章. Kooboo CMS - @Html.FrontHtml().HtmlTitle() 详解 Kooboo CMS - Html.FrontHtml.Posit ...
- div+css定位position详解
div+css定位position详解 1.div+css中的定位position 最主要的两个属性:属性 absolute(绝对定位) relative(相对定位),有他们才造就了div+css布局 ...
- [TimLinux] CSS float和position详解
1.1. 定义 摘自w3school:float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它 ...
- CSS定位属性Position详解
CSS中最常用的布局类属性,一个是Float(CSS浮动属性Float详解),另一个就是CSS定位属性Position. 1. position:static 所有元素的默认定位都是:position ...
- CSS中position详解与常见应用实现
在web前台开发时候,我们必不可少的会用到postion属性进行布局定位.今天总结了一下position知识点,与常用功能与大家分享,欢迎大家交流指正. 首先我们对postion属性进行详解. 在CS ...
- position详解
本文旨在普及一下position的用法,CSS中position的使用率相当之高,对于新入行的小白,不仅要知其然,还要知其所以然. position(定位类型),主要有4种属性值 : static.f ...
- CSS定位之position详解(转载)
本文转载于xingoo的博文:http://www.cnblogs.com/xing901022/p/5193751.html position属性 在前端中,position是很常见的属性.通过这 ...
随机推荐
- WebService的开发、部署、调用
本文参考其它文章和自己解决中间问题的经历记录,以C#开发WebService为例子,欢迎探讨: 一.C#开发WebService 在visual studio中新建ASP.NET Web服务应用程序, ...
- tomcat:域名指向项目名
把项目部署到tomcat目录webapps后,使用域名访问的时候域名后面需要加上项目名称,如果想直接输入域名就可以访问项目呢?看了下tomcat官方文档,我修改了tomcat安装目录下conf/ser ...
- 谢欣伦 - 原创软件 - 游戏专题 - 操蛋的小鸟Fucking Bird
前段时间朋友介绍了一个最近很火的游戏<Flappy Bird>.在工作之余,我用了三天时间做了一个类似的游戏<Fucking Bird>.一开始分享给了两个女同事,发现她们玩嗨 ...
- 字典NSDictionary以及NSMutableDictionary的用法总结
做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便.在Objective-C语言中 词典 ...
- wpf 逻辑树与可视化树
XAML天生就是用来呈现用户界面的,这是由于它具有层次化的特性.在WPF中,用户界面由一个对象树构建而成,这棵树叫作逻辑树.逻辑树的概念很直观,但是为什么要关注它呢?因为几乎WPF的每一方面(属性.事 ...
- Web打印组件jatoolsPrinter
应用web化,不论对开发商,还是对用户来说,实在是一种很经济的选择,因为基于web的应用,客户端的规则很简单,容易学习,容易维护,容易发布.但对程序员来说,因为浏览器的局限性,却要面对很多挑战.怎么样 ...
- MySQL 复制表结构
200 ? "200px" : this.width)!important;} --> 介绍 有时候我们需要原封不动的复制一张表的表结构来生成一张新表,MYSQL提供了两种便 ...
- Win8 Metro动态加载内容框架
制作背景 为了参加ImagineCup 2013 世界公民类比赛,我们设计制作了一个可动态扩展的幼教类App.这个App需要能动态加载内容,内容包括带动画可交互的电子书,动画,视频,游戏. 技术支持 ...
- window系统JDK1.7的快速配置
快速配置java环境变量 右键单击计算机--->属性 点击 "高级系统设置"--->"环境变量",出现环境变量设置窗口 系统变量--->新建 ...
- enum操作--获取枚举里的最大值
一个应用系统,如果程序里没有任何enum的使用,我认为它的可读性是有待商榷的. 求枚举里的最大/最小枚举值, 其实是对Array进行操作: enum EnumTest { ddd = , eee } ...