zoukankan      html  css  js  c++  java
  • DynamicPopulateExtender 控件调 WebService 的500错误

    一直没怎么去仔细研究 ASP.NET AJAX Control Toolkit,昨天要写一个东西用到了其中的 DynamicPopulateExtender 控件。该控件的作用,是可以异步调用服务器端的方法返回一段 HTML,更新指定的控件内容。通常用 asp:Panel 来配合使用。

    下面是简单的 Markup:

        <asp:Panel ID="panelPrintLinks" runat="server">
            test
        
    </asp:Panel>
        
    <cc1:DynamicPopulateExtender ID="dp1"
            runat
    ="server" Enabled="True" 
            TargetControlID
    ="panelPrintLinks"
            ServiceMethod
    ="GetPrintLinks">
        
    </cc1:DynamicPopulateExtender>    

    其中 ServiceMethod 属性指定了对应的 WebService 方法,可用当前页面上的某个方法加上标签实现:

    public partial class ViewNodes: PageBase
    {
        [WebMethod()]
        [ScriptMethod()]
        
    public static string GetPrintLinks(string contextKey)
        {
            
    return "<a href='http://www.google.com'>Google</a>";
        }
    }

    客户端在需要的时候可以用 JavaScript 去触发这个内容更新。代码如下:

        <script type="text/javascript">
            
    function ShowPrintLinks(contextKey)
            {
                
    var behavior = $find('dp1');
                
    if (behavior)
                {
                    behavior.populate(contextKey);
                }
            }    
        
    </script>

    这里的参数名 contextKey 我原先写的不是这个,结果一直报 "WebService 调用错误: 500" 或者 12031 之类的错误。
    开始,以为是 Authentication 的问题,但是在 web.config 里禁用了 FormsAuthentication 错误信息依旧。
    最终发现原来这个 contextKey 这个参数名必须一字不差,而且参数个数也只能一个。WebService 方法的签名也要完全一样。只有参数名可改。

  • 相关阅读:
    json数据转为对象,一般在前台把数据传回后端中使用 转https://www.cnblogs.com/zxtceq/p/6610214.html
    JavaScript事件大全3
    javascript大全
    Javascript刷新页面大全
    JavaScript验证正则表达式大全
    insertAdjacentHTML和insertAdjacentText方法
    CSS实现样式布局
    iis浏览网页时提示无法显示 XML 页
    IIS浏览提示无法显示网页的解决方法
    在dreamweaver中输入代码时不会有提示的解决办法
  • 原文地址:https://www.cnblogs.com/RChen/p/1218169.html
Copyright © 2011-2022 走看看