更改SelectMany分隔符

时间:2016-12-01 14:23:13

标签: c# asp.net-mvc episerver episerver-8

我正在以下列方式使用[SelectMany(SelectionFactoryType = typeof(TagsSelectionFactory))] public virtual string Tags { get; set; } 属性:

SelectionFactory

使用以下public class TagsSelectionFactory : ISelectionFactory { public IEnumerable<ISelectItem> GetSelections(ExtendedMetadata metadata) { var articleTags = DataFactory.Instance.GetChildren<ArticleTagPage>(new ContentReference(18)); var tags = new List<SelectItem>(); foreach (var item in articleTags) { tags.Add(new SelectItem { Text = item.TagName, Value = item.ContentLink.ID }); } return tags; } }

var articleObjects = DataFactory.Instance.GetChildren<ArticlePage>(currentPage.ArticlesLocation);
foreach (var item in articleObjects)
{
    //this is where i get the csv value
    var tags = item.Tags;
}

//ArticleTagPage.cs
[ContentType(DisplayName = "ArticleTagPage", GUID = "0401929a-903a-414f-acd1-61ad11319462", Description = "")]
public class ArticleTagPage : PageData
{
    [CultureSpecific]
    [Display(Name = "Tag Name", Description = "", GroupName = SystemTabNames.Content, Order = 1)]
    public virtual string TagName { get; set; }
}

这是我改变价值观的方式:

ArticleTagPage

所有ArticleTagsContainerPage都位于,下方。目的是为每个文章管理一组标签,类似于SO标题的问题 我的问题是,一旦属性被填充,它将保留一个逗号(;)分隔的字符串,这可能会导致数据包含逗号的问题。
是否可以将分隔符更改为|或{{1}},或者只返回所选值的集合?

0 个答案:

没有答案