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 详解的更多相关文章

  1. Kooboo CMS - @Html.FrontHtml().Meta()详解。

    下面是代码: public virtual IHtmlString Meta() { AggregateHtmlString htmlStrings = new AggregateHtmlString ...

  2. Kooboo CMS - @Html.FrontHtml().HtmlTitle() 详解

    首先我们找到这个类. 这个类有如下的方法: #region Title & meta [Obsolete("Use HtmlTitle")] public IHtmlStr ...

  3. Kooboo CMS - Html.FrontHtml[Helper.cs] 各个方法详解

    下面罗列了方法详解,每一个方法一篇文章. Kooboo CMS - @Html.FrontHtml().HtmlTitle() 详解 Kooboo CMS - Html.FrontHtml.Posit ...

  4. div+css定位position详解

    div+css定位position详解 1.div+css中的定位position 最主要的两个属性:属性 absolute(绝对定位) relative(相对定位),有他们才造就了div+css布局 ...

  5. [TimLinux] CSS float和position详解

    1.1. 定义 摘自w3school:float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它 ...

  6. CSS定位属性Position详解

    CSS中最常用的布局类属性,一个是Float(CSS浮动属性Float详解),另一个就是CSS定位属性Position. 1. position:static 所有元素的默认定位都是:position ...

  7. CSS中position详解与常见应用实现

    在web前台开发时候,我们必不可少的会用到postion属性进行布局定位.今天总结了一下position知识点,与常用功能与大家分享,欢迎大家交流指正. 首先我们对postion属性进行详解. 在CS ...

  8. position详解

    本文旨在普及一下position的用法,CSS中position的使用率相当之高,对于新入行的小白,不仅要知其然,还要知其所以然. position(定位类型),主要有4种属性值 : static.f ...

  9. CSS定位之position详解(转载)

    本文转载于xingoo的博文:http://www.cnblogs.com/xing901022/p/5193751.html  position属性 在前端中,position是很常见的属性.通过这 ...

随机推荐

  1. centos7开机自动联网设置

    /etc/sysconfig/network-scripts/目录下ifcfg-eth0这个 文件,把ONBOOT="no"改为yes

  2. Page

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <met ...

  3. 数据库中数据DELETE了怎样恢复

    USE [BBDAS_FP_DATA] GO /****** Object: StoredProcedure [dbo].[Recover_Deleted_Data_Proc] Script Date ...

  4. ORACLE冷备份与恢复

    ORACLE备份和恢复有三种方式: (1)数据泵(expdp/impdp) (2)冷备份 (3)RMAN备份 就分类而言,(1)和(2)统有称为"冷"备份,(3)称为"热 ...

  5. ASP.NET Core 文件上传

    前言 上篇博文介绍了怎么样在 asp.net core 使用 Redis 和 Protobuf 进行 Session缓存.本篇的是开发过程中使用的一个小功能,怎么做单文件和多文件上传. 如果你觉得对你 ...

  6. VS轻松开发Node.js应用

    PTVS开发团队又开发出一款可以在VS里编写Node.js应用程序的插件--NTVS(Node.js Tools for Visual Studio),开发者可以在VS里轻松开发Node.js应用. ...

  7. NoSQL初探之人人都爱Redis:(3)使用Redis作为消息队列服务场景应用案例

    一.消息队列场景简介 “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象.消息被发送到队列中,“消息队列”是在消息的传输过程中保存消息的容器 ...

  8. iOS开发系列--视图切换

    概述 在iOS开发中视图的切换是很频繁的,独立的视图应用在实际开发过程中并不常见,除非你的应用足够简单.在iOS开发中常用的视图切换有三种,今天我们将一一介绍: UITabBarController ...

  9. 使用GDB调试Go语言

    用Go语言已经有一段时间了,总结一下如何用GDB来调试它! ps:网上有很多文章都有描述,但是都不是很全面,这里将那些方法汇总一下 GDB简介  GDB是GNU开源组织发布的⼀一个强⼤大的UNIX下的 ...

  10. android内部培训视频_第一节

    声明:本视频为公司内部做android培训时录制的,无任何商业目的.同时鉴于水平有限,可能不符合您的需求,放在这里的目的是提供给公司同事下载,作为培训的一个记录,也作为一个系列教程的自我督促完成的理由 ...