我正在使用Chris Hammond DNN模块模板来了解DNN MVC模块。我在Settings类中添加了另一个名为Display的属性,它在数据库中保存为“MessageList_Display”,我也可以在Module的设置中看到Display的值,但是如何访问此设置值?
我有一个名为“MessagesViewModel.cs”的Model类,我有一个名为Message的属性。
public string Message
{
get
{
var settings = new Settings();
if (settings.Display != null)
{
return settings.Display;
}
return string.Empty;
}
}
设置的显示为空,而Setting1和Setting2都有值。如何访问DNN MVC模块中的设置?
答案 0 :(得分:2)
我有一个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上设置值。