在Orchard中创建SiteSettings内容部分

时间:2014-09-05 17:06:10

标签: database list settings orchardcms record

我正在尝试为网站的设置创建一个白名单部分,以便管理员用户输入被视为“白名单”的网址列表。我遇到了将这些信息存储在数据库中的问题。使用属于数据库的信息创建新内容类型时,可以使用以下命令:

public class ShareBarSettingsPart : ContentPart<ShareBarSettingsPartRecord> {
    public string AddThisAccount {
        get { return Record.AddThisAccount; }
        set { Record.AddThisAccount = value; }
        }
    }

在数据库中设置AddThisAccount的值。我的问题是我需要数据库中的URL列表而不仅仅是单个项目。我尝试了以下但它给了我一个错误:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Records;

namespace Speedbump.Models
{
    public class SpeedBumpSettingsRecord : ContentPartRecord
    {
        public virtual List<string> whiteList { get; set; }
    }

    public class SpeedBumpSettingsPart : ContentPart<SpeedBumpSettingsRecord>
    {
        public List<string> whiteList
        {
            get { return Record.whiteList; }
            set { Record.whiteList.Add(value); } //I need to be able to add a single record to the list here
        }
    }
}

非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

List<string>不支持作为记录属性类型。然而,这并不重要,因为您不应该使用记录来进行网站设置。请改用StoreRetrieve。任何现有的设置部分都会给你一个例子。