加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 02:09:55 所属栏目:安全 来源:网络整理
导读:最近制作了一个省市县三级联动的控件.期间错误不断,困难重重.综合网上的相关信息,加上我一直熬到凌晨六点的试验测试,终于 完美解决!非常高兴. 以下是本次的经验总结: 1.出现错误:'sys'未定义的信息 这个是由于在web.config中定义错误引起的.(试验确定) 因为

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

以下是本次的经验总结:

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,PublicKeyToken=31BF3856AD364E35"/>
????<add assembly="System.Web.Extensions.Design,PublicKeyToken=31BF3856AD364E35"/>
????<add assembly="System.Windows.Forms,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,PublicKeyToken=31bf3856ad364e35"/>
????? <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,PublicKeyToken=31bf3856ad364e35"/>
????? <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler,PublicKeyToken=31bf3856ad364e35" validate="false"/>
????? <add verb="GET,HEAD,POST" path="*.asbx" type="System.Web.Script.Services.ScriptHandlerFactory,PublicKeyToken=31bf3856ad364e35" validate="false"/>
??? </httpHandlers>
??? <httpModules>
????? <add name="ScriptModule" type="System.Web.Handlers.ScriptModule,PublicKeyToken=31bf3856ad364e35"/>
??? </httpModules>
??? <pages>
????? <controls>
??????? <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions,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();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读