在我们的项目中,我们有一些实体,比如类别和基本信息: ID、名称、描述等。都保存在DB中。但在MVC方面,每个类别都可能有一些前端特定的属性: css类名、徽标URL等。我们还支持本地化,因此每个地区都有不同的类别集。目前,所有前端特定的内容都保存在MVC端的JSON文件中,其结构如下:
- category2
- css class name
- logo URL
- category4
- css class name
- logo URL
而且它有少量的数据,但是随着添加新的地区和类别属性,它变得更大了,所以现在很难支持它。
我认为在MVC方面可能存在一些存储结构化信息的机制。它的存储方式并不重要,但应该允许:
发布于 2014-10-17 05:29:48
要回答您的问题:我不认为ASP.NET MVC为此提供了一个概念。
然而,根据我的理解,您是在问一个通用的应用程序设计问题:我可以在哪里存储我的UI特定信息?由于您不想将其与实际数据(我理解的)混为一谈,所以您需要将其存储在其他地方。这是事实。;)
我认为有不同的方法、如何和地点保存这些信息,每种方法各有优缺点:
文本文件(JSON,XML等)
Pros:
Cons:
数据库(现有数据库或包含GUI/应用程序相关信息的新数据库)
Pros:
Cons:
字符串资源(resx)
这是一个合适的位置,因为您存储的是依赖于语言的信息,而且显然可以在生产过程中进行更改,而无需重新编译,这取决于您的项目结构:Editing resource files without recompiling ASP.NET application
很难说出你想要和需要什么,因为它也取决于你公司的政策等等。另一个因素是,这些数据多久变化一次,谁应该能够改变它?当你谈论CSS类和URL时,听起来像是一个技术人员做的事情,但你永远不知道..
我想我会选择一个包含GUI相关内容的数据库。如果不能将其与实际的应用程序数据混合,为什么不为前端创建一个包含显式数据的新数据?也许会有或者已经有比你所指的信息更多的信息,这些信息可能也会出现在那里。
如果没有数据库选项,我将创建一个可序列化(缓存和Singleton)类,其中包含所需的结构,然后将XML/JSON存储在文件系统中。如果您有时间,您甚至可以创建一个UI来编辑这个类/文件。我的意思是,如果技术人员正在编辑这个,那就不需要什么花哨了..
https://stackoverflow.com/questions/26411758
复制相似问题