CascadingDropDown 方法错误 500

    技术2022-06-29  97

        在网页中使用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)