DNN中的列表管理可以实现对DNN中可变项列表的管理。可变列表包括:可选择的货币种类、可选择的国家省份等。这些列表项一般都以下拉框的形式出现。在DNN中程序默认给出了一些,我们可以修改系统默认给出的值,也可添加新的列表(主要用于自己开发的用户模块)。
就拿国家省份列表来说:默认给出的省份都是英文,我们当然可以把它汉化成中文。中国的省份也没有默认给出,大家可安装以下步骤添加:
1、点击“增加列表”,出现如下图所示界面。(输入的值也按下图所示给出,如果要启用自定义排序,那么一定要把“排序方式”项选中)
2、保存上一步操作后,点击“增加条目”依次添加省份条目,界面如下:
3、如果你在添加列表时选中了“排序方式”项,则可以调整列表条目的顺序,界面如下:
4、添加完条目后就可以在注册页面看看效果了,如下图:
5、注册时国家默认的United States,要想让它默认China,只有修改程序才行
在controls\Address.ascx文件中有以下代码:
< wc:CountryListBox TestIP ="" LocalhostCountryCode ="US" id ="cboCountry" CssClass ="NormalTextBox" Width ="200px" DataValueField ="Value" DataTextField ="Text" AutoPostBack ="True" runat ="server" >
修改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: 父列表([父列表名称])
更多相关内容>>