省市县三级联动+CascadingDropDown+取值+赋值

2024-03-17 14:18

本文主要是介绍省市县三级联动+CascadingDropDown+取值+赋值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近制作了一个省市县三级联动的控件.期间错误不断,困难重重.综合网上的相关信息,加上我一直熬到凌晨六点的试验测试,终于完美解决!非常高兴.

以下是本次的经验总结:

1.出现错误:'sys'未定义的信息

这个是由于在web.config中定义错误引起的.(试验确定)

因为我的试验次数过多,中间的改动也很多,没能一一记录.所以下列展示出最终的适用web.config.

<system.web>
  <!--
            设置 compilation debug="true" 将调试符号插入
            已编译的页面中。但由于这会
            影响性能,因此只在开发过程中将此值
            设置为 true。
        -->
  <compilation debug="true">
   <assemblies>
    <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies></compilation>
  <!--
            通过 <authentication> 节可以配置 ASP.NET 使用的
            安全身份验证模式,
            以标识传入的用户。
        -->
  <authentication mode="Windows"/>
  <!--
            如果在执行请求的过程中出现未处理的错误,
            则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
            开发人员通过该节可以配置
            要显示的 html 错误页
            以代替错误堆栈跟踪。

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
    <httpHandlers>
      <remove verb="*" path="*.asmx"/>
      <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
      <add verb="GET,HEAD,POST" path="*.asbx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
    </httpHandlers>
    <httpModules>
      <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </httpModules>
    <pages>
      <controls>
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" tagPrefix="ajaxToolkit"/>
      </controls>
    </pages>

  </system.web>

主要部分就在这里,其它的配置部分与此无关.

2.错误信息 Method error 500,12300,12301

我制作的省市县三级联动控件,参考了如下链接的内容,并经过了改动:

http://blog.csdn.net/windok2004/archive/2008/12/11/3497733.aspx

此错误的解决方法

结合网上的说法:

首先单独测试所使用的webservice文件,例: PCAService.asmx

确认所用的方法能够调试通过.

在这里,附带一点信息:

string knownCategoryValues, string category

这两个参数,在单独测试webservice文件的方法时:

例如调试:GetCityContents(string knownCategoryValues, string category)时

string knownCategoryValues  输入形如: Province:110000 

这里的Province 是上一级的CascadingDropDownNameval_rue的category的值

这里的110000是上一级的value值

string category  输入自身级别的category的值.

为了避免阐述不清,附带我的完全单独测试参数:

总计三个webMethod:

GetProvinceContents
GetCityContents
GetAreaContents

第一级的:GetProvinceContents

knownCategoryValues      为空,不填

category   Province       填写Province
第二级的:GetCityContents

knownCategoryValues   Province:110000  填写Province:110000 

category   City      填写City

第三级的:GetAreaContents

knownCategoryValues     City:110100  填写City:110100 

category   Area       填写Area
3获取选择的值

可以使用形如以下的方式获得选择的值:

Label1.Text = ddlProvince.SelectedValue;
        Label2.Text=ddlCity.SelectedValue;
        Label3.Text=ddlVilliage.SelectedValue;

4.反向赋值给控件

可以使用如下形式

CascadingDropDown1.SelectedValue = "110000";
CascadingDropDown2.SelectedValue = "110100";
CascadingDropDown3.SelectedValue = "110103";

 

如下附我的使用样例:

Address ad = new Address();
            ad.LoadData(ID);
            CascadingDropDownProvince.SelectedValue=ad.UserProvince.ToString();
            CascadingDropDownCity.SelectedValue =ad.UserCity.ToString();
            CascadingDropDownArea.SelectedValue =ad.UserArea.ToString();

这篇关于省市县三级联动+CascadingDropDown+取值+赋值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/819198

相关文章

Science|癌症中三级淋巴结构的免疫调节作用与治疗潜力|顶刊精析·24-09-08

小罗碎碎念 Science文献精析 今天精析的这一篇综述,于2022-01-07发表于Science,主要讨论了癌症中的三级淋巴结构(Tertiary Lymphoid Structures, TLS)及其在肿瘤免疫反应中的作用。 作者类型作者姓名单位名称(中文)通讯作者介绍第一作者Ton N. Schumacher荷兰癌症研究所通讯作者之一通讯作者Daniela S. Thomm

Go 数组赋值问题

package mainimport "fmt"type Student struct {Name stringAge int}func main() {data := make(map[string]*Student)list := []Student{{Name:"a",Age:1},{Name:"b",Age:2},{Name:"c",Age:3},}// 错误 都指向了最后一个v// a

《C++中的移动构造函数与移动赋值运算符:解锁高效编程的最佳实践》

在 C++的编程世界中,移动构造函数和移动赋值运算符是提升程序性能和效率的重要工具。理解并正确运用它们,可以让我们的代码更加高效、简洁和优雅。 一、引言 随着现代软件系统的日益复杂和对性能要求的不断提高,C++程序员需要不断探索新的技术和方法来优化代码。移动构造函数和移动赋值运算符的出现,为解决资源管理和性能优化问题提供了有力的手段。它们允许我们在不进行不必要的复制操作的情况下,高效地转移资源

python基础语法十一-赋值、浅拷贝、深拷贝

书接上回: python基础语法一-基本数据类型 python基础语法二-多维数据类型 python基础语法三-类 python基础语法四-数据可视化 python基础语法五-函数 python基础语法六-正则匹配 python基础语法七-openpyxl操作Excel python基础语法八-异常 python基础语法九-多进程和多线程 python基础语法十-文件和目录操作

数字电路专题:verilog 阻塞赋值和非阻塞赋值

verilog 阻塞赋值 和 非阻塞赋值 “=”阻塞赋值, ”<=”非阻塞赋值。阻塞赋值为执行完一条赋值语句,再执行下一条,可理解为顺序执行,而且赋值是立即执行; 非阻塞赋值可理解为并行执行,不考虑顺序,在 always 块语句执行完成后,才进行赋值。 如下面的阻塞赋值: //代码如下:module top(din,a,b,c,clk);input din;input clk;out

js 获取select的值 / js动态给select赋值

正常使用的: var month =  $('#month option:selected').val();//选中的值 var a = $('#month option:selected').text();//选中的文本 var b = $('#month option:selected') .val();//选中的值 var c = $("#month").get(0).selected

Java中Map取值转String Null值处理

Map<String, Object> 直接取值转String String value = (String)map.get("key") 当map.get(“key”)为Null值时会报错。 使用String类的valueOf静态方法可以解决这个问题 String value = String.valueOf(map.get("key"))

struts1 中ActionForm赋值原理

在struts1中,没有struts2封装得好,对简单数据类型没有什么不一样,但是对于一个对象,列表等要麻烦一点,不过只要知道struts1底层是怎么对数据进行赋值的话,操作起来也比较简单。          首先说明一下在struts1中,当点击submit后,把表单中的数据全部提交,在后台是用一个Map来接收表单中的数据,struts对ActionForm中的数据赋值也是从这个map

[含视频和源码]CRUD的最佳实践,联动前后端,包含微信小程序,API,HTML等(三)

关说不练假把式,在上一,二篇中介绍了我心目中的CRUD的样子 基于之前的理念,我开发了一个命名为PasteTemplate的项目,这个项目呢后续会转化成项目模板,转化成项目模板后,后续需要开发新的项目就可以基于这个模板创建,这样就不要copy一个旧的项目,然后删删删,改改改,重命名等操作了 强迫症,一个项目的名字就得统一,心里才舒服 那么本次作者就带来了实物,本次主要介绍管理端的内容,我们一起

CRUD的最佳实践,联动前后端,包含微信小程序,API,HTML等(三)

关说不练假把式,在上一,二篇中介绍了我心目中的CRUD的样子 基于之前的理念,我开发了一个命名为PasteTemplate的项目,这个项目呢后续会转化成项目模板,转化成项目模板后,后续需要开发新的项目就可以基于这个模板创建,这样就不要copy一个旧的项目,然后删删删,改改改,重命名等操作了 强迫症,一个项目的名字就得统一,心里才舒服 那么本次作者就带来了实物,本次主要介绍管理端的内容,我们一起