关闭

CascadingDropDown 方法错误 500

1053人阅读 评论(0) 收藏 举报

    在网页中使用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"解决了问题。

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:341419次
    • 积分:4133
    • 等级:
    • 排名:第7710名
    • 原创:85篇
    • 转载:31篇
    • 译文:0篇
    • 评论:43条
    最新评论