CascadingDropDown 方法错误 500

    在网页中使用CascadingDropDown控件,设置了控件属性,编写了WebService方法,在调试运行时,DropdownList内容显示为“方法错误 500”。于是想在webmthod中添加断点调试,然而运行.aspx页面时,无法捕捉断点,很奇怪。于是直接运行.asmx,输入参数,发现webmthod正常,能将结果查询出来并显示于xml格式的文件中。

    在网上搜索了很多,发现很多人遇到类似的问题,网上的答案有以下几种:

1、webservice中的方法参数签名必须是string knownCategoryValues, string category似乎不能修改。(这个可能是最常出的问题,特别是knownCategoryValues。它后面有一个s不要忘了)
2、[System.Web.Script.Services.ScriptService]必须在类前面。
3、webservice路径错误。
4、应用方法名错误。

 

     试过上述四种可能性的修改,问题依旧。后来翻起一本书,看到WebMthod中有这么一句代码:

      string[] categoryValues = knownCategoryValues.Split(':', ';');

 

      之前的我代码为string id = knownCategoryValues.ToString(),在.asmx中调试时,直接输入了一串没有符号的字符串,调试没有问题。

      按照书上的代码写,调试aspx页面时,可以跳转到断点了,看了一下knownCategoryValues的值,原来为“undefined:请选择;”。于是猜DropdownList传进来的值应该是上述格式,果真如此,问题因此解决了。

 

      当另一问题产生了,弹出“Sys.WebForms.PageRequestManagerServerErrorException”错误,于是在aspx页面头部加了EnableEventValidation="false"解决了问题。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值