DNN中的列表管理可以实现对DNN中可变项列表的管理。可变列表包括:可选择的货币种类、可选择的国家省份等。这些列表项一般都以下拉框的形式出现。在DNN中程序默认给出了一些,我们可以修改系统默认给出的值,也可添加新的列表(主要用于自己开发的用户模块)。
就拿国家省份列表来说:默认给出的省份都是英文,我们当然可以把它汉化成中文。中国的省份也没有默认给出,大家可安装以下步骤添加:
1、点击“增加列表”,出现如下图所示界面。(输入的值也按下图所示给出,如果要启用自定义排序,那么一定要把“排序方式”项选中)
2、保存上一步操作后,点击“增加条目”依次添加省份条目,界面如下:
3、如果你在添加列表时选中了“排序方式”项,则可以调整列表条目的顺序,界面如下:
4、添加完条目后就可以在注册页面看看效果了,如下图:
5、注册时国家默认的United States,要想让它默认China,只有修改程序才行
在controls\Address.ascx文件中有以下代码:
修改LocalhostCountryCode="US"为LocalhostCountryCode="CN"即可。
6、网上有人对“台湾”作为一个国家出现感到不爽,可以自己将它从国家列表中删除并添加到中国省份列表中即可。
列出一些我在看程序的记录的东西,希望能对大家看这部分程序时有用。
数据库中的表(Lists):
字段名 |
类型 |
含义 |
备注 |
EntryID |
Int |
列表明细ID |
|
ListName |
Nvarchar(50) |
列表名称 |
组合主键(ListName、Value、Text、ParentID) |
[Value] |
Nvarchar(100) |
列表值 |
|
Text |
Nvarchar(150) |
列表文本 |
|
ParentID |
Int |
父ID |
表示隶属于那一个条目 |
[Level] |
Int |
层次 |
|
SortOrder |
Int |
列表排序号 |
|
DefinitionID |
Int |
列表定义 |
用于区分是系统默认列表还是客户新建的列表(-1:系统默认的/0:用户创建的),系统默认的列表是不能删除 |
Description |
Nvarchar(500) |
描述 |
当前版本还没用到 |
ListInfo和ListEntryInfo:虽说列表管理只有一个表,但它却对应了两个业务实体。
ListInfo:列表信息类,相当于一个列表种类,如Country。
ListEntryInfo:列表明细条目信息类,就是列表中的一个条目,如Country列表中的China就是一个条目
从上面给出的数据表结构中就可见看出,这设计可以灵活的添加子列表。如果设计一个ListInfo表和一个ListEntryInfo表当然也是可以的,那么程序实现起来就复杂一些。
几个容易混淆的东西:
DisplayName:显示在列表节点的名称([父列表名称.父列表文本]:列表名称)
Key:列表信息Key([父列表名称.父列表值]:列表名称,[]表示如果没父类就没有该项,[父列表名称.父列表值]就是ParentKey)
ParentKey:父列表Key([父列表名称.父列表值])
Parent:父列表名称([父列表名称.父列表文本])
ParentList:父列表([父列表名称])
更多相关内容>>
==========================================
作者:二十四画生
转载请注明来源于博客园——二十四画生的Blog,并保留有原文链接。