当前位置: 首页>>代码示例>>C#>>正文


C# Content.Field方法代码示例

本文整理汇总了C#中Content.Field方法的典型用法代码示例。如果您正苦于以下问题:C# Content.Field方法的具体用法?C# Content.Field怎么用?C# Content.Field使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Content的用法示例。


在下文中一共展示了Content.Field方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: getMediaUrl

        private static string getMediaUrl(Content content, string fieldAlias, int size)
        {
            UrlHelper _urlHelper = new UrlHelper(((MvcHandler)HttpContext.Current.Handler).RequestContext);
            var url = _urlHelper.GetMediaUrl(content, fieldAlias, size);

            if (url == null || !url.StartsWith("/"))
            {
                var id = HiveId.TryParse(content.Field(fieldAlias).ToString());
                if (id.Success)
                {
                    url = _urlHelper.GetMediaUrl(id.Result, size);
                }
            }
            _urlHelper.DisposeIfDisposable();

            return url;
        }
开发者ID:perploug,项目名称:JubRazorExtensions,代码行数:17,代码来源:Media.cs

示例2: RenderField

        public IHtmlString RenderField(IRoutableRequestContext routableRequestContext, ControllerContext controllerContext, Content item,
            string fieldAlias = "", string valueAlias = "", string altFieldAlias = "", string altValueAlias = "", string altText = "", string insertBefore = "", string insertAfter = "",
            bool recursive = false, bool convertLineBreaks = false, bool removeParagraphTags = false,
            UmbracoRenderItemCaseType casing = UmbracoRenderItemCaseType.Unchanged,
            UmbracoRenderItemEncodingType encoding = UmbracoRenderItemEncodingType.Unchanged)
        {
            var sb = new StringBuilder();

            // Handle hard coded "friendly" system keys
            if (fieldAlias == "Name" || fieldAlias == "UrlName")
            {
                valueAlias = fieldAlias;
                fieldAlias = NodeNameAttributeDefinition.AliasValue;
            }

            if (fieldAlias == "CurrentTemplateId")
            {
                fieldAlias = SelectedTemplateAttributeDefinition.AliasValue;
                valueAlias = "TemplateId";
            }

            if (altFieldAlias == "Name" || altFieldAlias == "UrlName")
            {
                altValueAlias = altFieldAlias;
                altFieldAlias = NodeNameAttributeDefinition.AliasValue;
            }

            if (altFieldAlias == "CurrentTemplateId")
            {
                altFieldAlias = SelectedTemplateAttributeDefinition.AliasValue;
                altValueAlias = "TemplateId";
            }

            var val = item.Field<string>(fieldAlias, valueAlias, recursive);

            if (val.IsNullOrWhiteSpace() && !altFieldAlias.IsNullOrWhiteSpace())
            {
                val = item.Field<string>(altFieldAlias, altValueAlias, recursive);
            }

            if (val.IsNullOrWhiteSpace() && !altText.IsNullOrWhiteSpace())
            {
                val = altText;
            }

            if(!val.IsNullOrWhiteSpace())
            {
                switch (casing)
                {
                    case UmbracoRenderItemCaseType.Upper:
                        val = val.ToUpper();
                        break;
                    case UmbracoRenderItemCaseType.Lower:
                        val = val.ToLower();
                        break;
                    case UmbracoRenderItemCaseType.Title:
                        val = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(val);
                        break;
                    default:
                        break;
                }

                switch (encoding)
                {
                    case UmbracoRenderItemEncodingType.Url:
                        val = HttpUtility.UrlEncode(val);
                        break;
                    case UmbracoRenderItemEncodingType.Html:
                        val = HttpUtility.HtmlEncode(val);
                        break;
                    default:
                        break;
                }

                if (convertLineBreaks)
                {
                    val = val.Replace(Environment.NewLine, "<br />");
                }

                if (removeParagraphTags)
                {
                    val = val.Trim().Trim("<p>").Trim("</p>");
                }

                sb.Append(HttpUtility.HtmlDecode(insertBefore));
                sb.Append(val);
                sb.Append(HttpUtility.HtmlDecode(insertAfter));
            }

            //now we need to parse the macro syntax out and replace it with the rendered macro content

            var macroRenderer = new MacroRenderer(routableRequestContext.RegisteredComponents, routableRequestContext);
            var macroParser = new MacroSyntaxParser();
            IEnumerable<MacroParserResult> parseResults;
            var parsed = macroParser.Parse(sb.ToString(),
                                           (macroAlias, macroParams)
                                           => macroRenderer.RenderMacroAsString(macroAlias,
                                                                                macroParams,
                                                                                controllerContext, false,
                                                                                () => item), out parseResults);
//.........这里部分代码省略.........
开发者ID:Joebeazelman,项目名称:rebelcmsxu5,代码行数:101,代码来源:FieldRenderer.cs

示例3: GetFieldValue

 private static object GetFieldValue(Content item, string fieldAlias, string valueAlias, bool recursive)
 {
     switch (fieldAlias)
     {
         case "@id":
             return item.Id;
         case "@parentId":
             return item.ParentContent().Id;
         case "@name":
         case "Name":
             return item.Name;
         case "@urlName":
         case "UrlName":
             return item.UrlName;
         case "@path":
             return item.GetPath().ToString();
         case "@level":
             return item.GetPath().Level;
         case "@template":
             return item.CurrentTemplate.Alias;
         case "@templateId":
         case "CurrentTemplateId":
             return item.CurrentTemplate.Id;
         case "@templateFileName":
             return item.CurrentTemplate.Id.Value;
         case "@nodeTypeAlias":
             return item.ContentType.Alias;
         case "@createDate":
             return item.UtcCreated;
         case "@updateDate":
             return item.UtcModified;
         case "@statusChangedDate":
             return item.UtcStatusChanged;
         default:
             return item.Field(fieldAlias, valueAlias, recursive);
     }
 }
开发者ID:RebelCMS,项目名称:rebelcmsxu5,代码行数:37,代码来源:FieldRenderer.cs


注:本文中的Content.Field方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。