[DNN功能]列表管理添加中国的省份选择下拉框

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: 父列表([父列表名称])

更多相关内容>>

Published At
Categories with Web编程
Tagged with
comments powered by Disqus