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"解决了问题。

 

阅读更多
文章标签: webservice string xml
个人分类: ASP.NET C#
上一篇javascript中日期比较
下一篇存储过程varchar与int的连接
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭