• .NET ComponentArt 客户端调用服务器端函数


        今天碰到的事情比较晕,我的服务器端的方法名与客户端的方法名定义成一样的了,后来点击链接,就是会出现“堆栈溢出”,网上找了一下,好像人家也没有遇到这个问题,后来仔细看了一下,发现可能是名称相同导致的,所以马上改了一下名称,结果又出现“缺少对象”这一错误。
        后来网上查了一下资料,原来在WEB.Config文件里面应该还要加上一句
      <httpHandlers>
        <add type="ComponentArt.Web.UI.CallbackHandler,ComponentArt.Web.UI" path="*.aspx" verb="*" />
      </httpHandlers>

    后台:
     [ComponentArtCallbackMethod]
      public string GetServerDateString()
      {
        return DateTime.Now.Date.ToString("MMMM dd, yyyy");
      }

    前台:
    alert(GetServerDateString());

    具体可以参考页面:http://www.componentart.com/forums/ShowPost.aspx?PostID=16637

    ComponentArt CallBack 2006.1
    Posted: 2/23/2006 12:37:47 PM
    By:  miljan

    Here is a brief overview of the new features and improvements of the ComponentArt CallBack control for the Web.UI 2006.1 release. Our goal was to address common customer feature requests and make our callback framework more comprehensive.

    Viewstate Maintenance

    Starting with the 2006.1 release, you will be able to access the latest state of ASP.NET controls contained on the page from your callback event handler. To enable this feature, simply set the PostState CallBack property to true.

    Passing Multiple Parameters From the CallBack.Callback() Client-side Method

    We now support passing any number of simple-type parameters from the CallBack.Callback() call:

      CallBack1.Callback('Stephen', 'Hatcher', 30, true);
                    

    These parameters will be available in the new string collection event args member "Parameters":

      string firstName = e.Parameters[0];
                    string lastName = e.Parameters[1];
                    int age = Convert.ToInt32(e.Parameters[2]);
                    bool isManager = Convert.ToBoolean(e.Parameters[3]);
                    

    Bypassing Page Life Cycle

    We have noticed that many of our customers have been using 3rd party AJAX libraries side-by-side with our CallBack control in order to be able to send quick commands to the server without going through the page life cycle. This was a way to efficiently execute server-side logic when complex rendering through callbacks was not needed. We now provide this functionality out of the box through a custom HTTP handler. To take advantage of it, do the following:

    1. Specify the HTTP handler within the <system.web> section of your web.config file:

      <httpHandlers>
                        <add type="ComponentArt.Web.UI.CallbackHandler,ComponentArt.Web.UI" path="*.aspx" verb="*" />
                      </httpHandlers>
                    

    2. Mark all server-side methods you wish to expose on the client with the [ComponentArtCallbackMethod] attribute. For example:

      [ComponentArtCallbackMethod]
                    public string GetServerDateString()
                    {
                    return DateTime.Now.Date.ToString("MMMM dd, yyyy");
                    }
                    

    or

      [ComponentArtCallbackMethod]
                    public int ServerSideAdd(int number1, int number2)
                    {
                    return number1 + number2;
                    }
                    

    NOTE: You can have any number of simple-type arguments within the function signature.

    3. You can then access those methods directly from your client-side JS code:

      alert(GetServerDateString());
                    

    or

      alert('Server side: 2 + 2 = ' + ServerSideAdd(2, 2)); 

    Automatic Refresh

    Automatic callback refresh can be enabled by setting the RefreshInterval property to the desired time interval (in milliseconds). You can use the client-side API to change the parameter(s) that are being sent to the server at any given time.

    We hope that you will enjoy the new features of ComponentArt CallBack 2006.1.

    The ComponentArt Team
    Helping You Build Something Amazing

  • 相关阅读:
    ajax的调用
    jqurey的应用
    php数据访问数据层
    php租房子练习
    php投票
    Thinkphp 控制器
    ThinkPHP 框架基础
    php留言板
    php上传文件及头像预览
    php文件操作
  • 原文地址:https://www.cnblogs.com/gfwei/p/1073628.html
Copyright © 2020-2023  润新知