您好,欢迎来到图艺博知识网。
搜索
您的当前位置:首页CascadingDropDown三级联动,初始化赋值

CascadingDropDown三级联动,初始化赋值

来源:图艺博知识网
CascadingDropDown三级联动,赋值应用

如图:1 (没有赋值的初始化绑定)

如图2:(给下拉框初始状态赋值)

代码如下:

新建一个default.aspx页面前台代码:

<%-- PromptText=\"请选择大区\" 这个属性,如果去掉,则可用于对某个地点的详细编辑,必须指定这个地点有大区,省,市的情况

如果不去掉这个属性,则可以用来做4级联动的搜索,即只选择了大区,省和市都没选的情况--%>

PromptText=\"请选择大区\" ServicePath=\"DropDownListService.asmx\" ServiceMethod=\"GetDropDownContentsRegion\" runat=\"server\">

PromptText=\"请选择省份\" ServicePath=\"DropDownListService.asmx\" ServiceMethod=\"GetDropDownContentsProvince\"

ParentControlID=\"DropDownList1\" runat=\"server\">

PromptText=\"请选择市\" ServicePath=\"DropDownListService.asmx\" ServiceMethod=\"GetDropDownContentsCity\"

ParentControlID=\"DropDownList2\" runat=\"server\">

后台代码如下:

protected void Page_Load(object sender, EventArgs e) {

if (!this.IsPostBack) {

BindData(); } }

private void BindData() {

//给DropDownList联动赋初始值

this.CascadingDropDown1.SelectedValue = \"2000\"; this.CascadingDropDown2.SelectedValue = \"460000\";

}

然后再新建一个CascadingDripDown.cs类 public class CascadingDropDown {

public static StringDictionary

ParseKnownCategoryValuesString(string knownCategoryValues) {

// 抛出异常

if (null == knownCategoryValues) {

throw new ArgumentNullException(\"knownCategoryValues\"); }

StringDictionary dictionary = new StringDictionary(); if (null != knownCategoryValues) {

// 把截取的字符串循环处理

foreach (string knownCategoryValue in knownCategoryValues.Split(';')) {

// 截取后放数组中

string[] knownCategoryValuePair =

knownCategoryValue.Split(':');

if (2 == knownCategoryValuePair.Length) {

// 添加到字符串字典中

dictionary.Add(knownCategoryValuePair[0].ToLowerInvariant(), knownCategoryValuePair[1]); } } }

return dictionary; }

}

再新建一个CascadingDropDownNameValue.cs类 [Serializable]

public class CascadingDropDownNameValue {

[System.Diagnostics.CodeAnalysis.SuppressMessage(\"Microsoft.Design\", \"CA1051:DoNotDeclareVisibleInstanceFields\", Justification = \"Necessary for web service serialization\")] public string name;

[System.Diagnostics.CodeAnalysis.SuppressMessage(\"Microsoft.Design\", \"CA1051:DoNotDeclareVisibleInstanceFields\", Justification = \"Necessary for web service serialization\")] public string value;

[System.Diagnostics.CodeAnalysis.SuppressMessage(\"Microsoft.Design\", \"CA1051:DoNotDeclareVisibleInstanceFields\", Justification = \"Necessary for web service serialization\")] public bool isDefaultValue;

public CascadingDropDownNameValue() { }

public CascadingDropDownNameValue(string name, string value) {

this.name = name; this.value = value; }

public CascadingDropDownNameValue(string name, string value, bool defaultValue) {

this.name = name; this.value = value;

this.isDefaultValue = defaultValue; } }

最后添加一个WebServer.cs文件,文件名DropDownListService.asmx

///

///DropDownListService 的摘要说明 ///

[WebService(Namespace = \"http://tempuri.org/\")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。

[System.Web.Script.Services.ScriptService]

public class DropDownListService : System.Web.Services.WebService {

public DropDownListService () {

//如果使用设计的组件,请取消注释以下行 //InitializeComponent(); }

[WebMethod]

public CascadingDropDownNameValue[]

GetDropDownContentsRegion(string knownCategoryValues, string category) {

List result = new List();

result.Add(new CascadingDropDownNameValue(\"华东\", \"1000\")); result.Add(new CascadingDropDownNameValue(\"华南\", \"2000\")); result.Add(new CascadingDropDownNameValue(\"华中\", \"3000\")); //把泛类型的result转换成CascadingDropDownNameValue类的数组形

式;

return result.ToArray(); }

[WebMethod]

public CascadingDropDownNameValue[]

GetDropDownContentsProvince(string knownCategoryValues, string category) {

// 把字符串形式的结构转换成字符串字典存放

StringDictionary knownCategoryValuesDictionary = ParseKnownCategoryValuesString(knownCategoryValues);

List result = new List();

switch (knownCategoryValuesDictionary[\"Region\"]) {

case \"1000\" :

result.Add(new CascadingDropDownNameValue(\"上海市\", \"310000\"));

result.Add(new CascadingDropDownNameValue(\"江苏省\", \"320000\"));

result.Add(new CascadingDropDownNameValue(\"浙江省\", \"330000\"));

break; case \"2000\" :

result.Add(new CascadingDropDownNameValue(\"广东省\", \"440000\"));

result.Add(new CascadingDropDownNameValue(\"广 西\", \"450000\"));

result.Add(new CascadingDropDownNameValue(\"海南省\", \"460000\"));

break; case \"3000\":

result.Add(new CascadingDropDownNameValue(\"江西省\", \"360000\"));

result.Add(new CascadingDropDownNameValue(\"河南省\", \"410000\"));

result.Add(new CascadingDropDownNameValue(\"湖北省\", \"420000\"));

break; }

return result.ToArray();

}

[WebMethod]

public CascadingDropDownNameValue[] GetDropDownContentsCity(string knownCategoryValues, string category) {

// 把字符串形式的结构转换成字符串字典存放

StringDictionary knownCategoryValuesDictionary = ParseKnownCategoryValuesString(knownCategoryValues);

List result = new List();

switch (knownCategoryValuesDictionary[\"Province\"]) {

case \"310000\":

result.Add(new CascadingDropDownNameValue(\"市辖区\", \"310100\"));

result.Add(new CascadingDropDownNameValue(\"县\", \"310200\"));

break;

case \"320000\":

result.Add(new CascadingDropDownNameValue(\"南京市\", \"320100\"));

result.Add(new CascadingDropDownNameValue(\"无锡市\", \"320200\"));

result.Add(new CascadingDropDownNameValue(\"徐州市\", \"320000\"));

break;

case \"330000\":

result.Add(new CascadingDropDownNameValue(\"杭州\", \"320100\"));

result.Add(new CascadingDropDownNameValue(\"宁波\", \"320200\"));

result.Add(new CascadingDropDownNameValue(\"温州\", \"320000\"));

break;

case \"440000\":

result.Add(new CascadingDropDownNameValue(\"广州市\", \"440100\"));

result.Add(new CascadingDropDownNameValue(\"韶关市\", \"440200\"));

result.Add(new CascadingDropDownNameValue(\"深圳市\", \"440000\"));

break;

case \"450000\":

result.Add(new CascadingDropDownNameValue(\"南宁市\", \"450100\"));

result.Add(new CascadingDropDownNameValue(\"柳州市\", \"450200\"));

break;

case \"460000\":

result.Add(new CascadingDropDownNameValue(\"海口市\", \"460100\"));

result.Add(new CascadingDropDownNameValue(\"三亚市\", \"460200\"));

result.Add(new CascadingDropDownNameValue(\"省直辖县级行政单位\", \"469000\")); break; }

return result.ToArray(); }

public static StringDictionary

ParseKnownCategoryValuesString(string knownCategoryValues) {

if (null == knownCategoryValues) {

throw new ArgumentNullException(\"knownCategoryValues\"); }

StringDictionary dictionary = new StringDictionary(); if (null != knownCategoryValues) {

// 把截取的字符串循环处理

foreach (string knownCategoryValue in knownCategoryValues.Split(';')) {

// 截取后放数组中

string[] knownCategoryValuePair = knownCategoryValue.Split(':');

if (2 == knownCategoryValuePair.Length) {

// 添加到字符串字典中

dictionary.Add(knownCategoryValuePair[0].ToLowerInvariant(), knownCategoryValuePair[1]); }

} }

return dictionary; } }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuoyibo.net 版权所有 湘ICP备2023021910号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务