如图:1 (没有赋值的初始化绑定)
如图2:(给下拉框初始状态赋值)
代码如下:
新建一个default.aspx页面前台代码:
后台代码如下:
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.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 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 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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务