如何向我的 DNN 模块添加设置

How do I add settings to my DNN Module

如何将设置选项卡添加到我的 DNN 模块??

我已将我的用户控件作为一个模块添加到 DNN,但我不知道如何添加设置选项卡以使某些值变得可配置。

希望您正在使用我的 Visual Studio 模板,它们使进行 DNN 模块开发(包括设置)变得超级简单

https://visualstudiogallery.msdn.microsoft.com/bdd506ef-d5c3-4274-bf1d-9e673fb23484

无需使用我的模板即可轻松进行设置,这是用于设置的 ASCX

<fieldset>
    <div class="dnnFormItem">
        <dnn:label ID="lblPageSize" runat="server" ControlName="txtPageSize" />
        <asp:TextBox ID="txtPageSize" runat="server" />
    </div>
    <div class="dnnFormItem">
        <dnn:label ID="lblShowCategories" runat="server" ControlName="chkShowCategories">
        </dnn:label>
        <asp:CheckBox ID="chkShowCategories" runat="server" />
    </div>
</fieldset>

然后是后面的代码

public override void LoadSettings()
{
    try
    {
        if (Page.IsPostBack == false)
        {
            //Check for existing settings and use those on this page
            //Settings["SettingName"]
            txtPageSize.Text = PageSize.ToString();
        }
    }
    catch (Exception exc) //Module failed to load
    {
        Exceptions.ProcessModuleLoadException(this, exc);
    }
}

public override void UpdateSettings()
{
    try
    {
        PageSize = Convert.ToInt32(txtPageSize.Text);
    }
    catch (Exception exc) //Module failed to load
    {
        Exceptions.ProcessModuleLoadException(this, exc);
    }
}

示例来自我的一个开源模块

http://dnnsimplearticle.codeplex.com/SourceControl/latest#cs/

要让 DNN 将您的用户控件连接到模块设置下的设置选项卡,您需要将新的 moduleControl 定义添加到您的 .dnn 清单文件中。下面是 Chris 的 simplearticle 示例模块中的示例。

<moduleControl>
    <controlKey>Settings</controlKey>
    <controlSrc>DesktopModules/dnnsimplearticle/Settings.ascx</controlSrc>
    <supportsPartialRendering>False</supportsPartialRendering>
    <controlTitle>dnnsimplearticle Settings</controlTitle>
    <controlType>Edit</controlType>
    <iconFile />
    <helpUrl />
    <viewOrder>0</viewOrder>
</moduleControl>