DNN MVC 模块 - 如何访问设置?

DNN MVC module - How do I access settings?

我正在使用 Chris Hammond DNN 模块模板来了解 DNN MVC 模块。我在设置 class 中添加了另一个名为 Display 的 属性,它在数据库中另存为 "MessageList_Display",我也在模块设置中看到了 Display 的值,但是如何访问此设置值?

我有一个名为 "MessagesViewModel.cs" 的模型 class 和一个名为 Message 的 属性。

public string Message
{
    get
    {
        var settings = new Settings();
        if (settings.Display != null)
        {
            return settings.Display;
        }
        return string.Empty;
    }
}

Settings 的 Display 为 null,而 Setting1 和 Setting2 都有值。您如何访问 DNN MVC 模块中的设置?

我有一个 DNN8 MVC 模块的工作示例项目,其中包括一个工作模块设置:https://github.com/DotNetNuclear/DnnRestaurantMenu/releases

下载 RestaurantMenuMVC_01.00.00_Source.zip 包。

我也是从 Chris Hammond 模板构建的。我假设您在设置控制器和视图中设置和获取模块设置没有问题。如果您询问如何访问其他视图中的设置,您可以像这样从控制器访问设置的值:

public ActionResult Index()
{
    string display;
    var model = new MessagesViewModel();
    // populate your model

    if (ModuleContext.Settings.ContainsKey("MessageList_Display"))
    {
        display = ModuleContext.Settings["MessageList_Display"].ToString();
    }
    ViewBag.Display = display;
    // or model.Message = display;

    return View(model);
}

在这里你可以看到我将设置添加到我可以在我的剃刀视图中访问的 ViewBag。您也可以在 MessagesViewModel 上设置值。