首页 > 解决方案 > 如何使模型只携带一个没有数据库的布尔值?

问题描述

我有一个设置页面,其中一个称为“启用新闻”它必须返回一个布尔值我想要做的是携带该字段的值并在其他页面中再次调用它

if (model.Boolean == true)
{
 //Code
}

不使用数据库,因为此选项仅适用于 1 个用户

目的是将这些数据保存在没有数据库的模型中,以便以后进行编辑

标签: c#asp.net-mvc

解决方案


可以使用XML,JSON和其他格式存储配置,具体取决于项目要求和您喜欢使用的格式。

JSON如果你有一个像这样的对象,格式是相当简单的

class UserSettings {
    public bool EnableNews {get; set}
    ...
}

然后您可以简单地使用Json.NET来存储和检索此类的对象,如下所示:

var settings = new UserSettings();
settings.EnableNews = True;
....
string json = JsonConvert.SerializeObject(settings, Formatting.Indented);

//store it to file settings.json for example

//when you want to edit it you can load the file to string
string json_string = File.ReadAllText("file_path");

//then convert json string to model back to edit and read it
UserSettings userSettings = JsonConvert.DeserializeObject<UserSettings>(json_string);

有关更多详细信息,请阅读Newtonsoft Json 包示例


推荐阅读