zoukankan      html  css  js  c++  java
  • coolite中在UserControl中使用Coolite.AjaxMethods方法

    Coolite Toolkit提供的Coolie.AjaxMethods.方法名直接调用后置方法。但当我们在UserControl中的前台代码中却无法使用此种方法。不过,Coolite Toolkit还提供了更强大的页面方法调用功能,就是他可以调用母版页(MasterPage)和用户自定义控件(UserControl)里的方法。 这里只说明调用UserControl方法。

    调用方法:

      调用UserControl需要将UserControl类设置别名才能成功调用。如下边的UserControl后台代码,注意红色部分设置别名为"UserControlSapce"。

    代码
    using Coolite.Ext.Web;

    [AjaxMethodProxyID(IDMode = AjaxMethodProxyIDMode.Alias, Alias = "UserControlSapce")]
    public partial class UserControl_UseUserControlAjax_WebUserControlAjax : System.Web.UI.UserControl
    {
        
    protected void Page_Load(object sender, EventArgs e)
        {
        }

        
    /// <summary>
        
    /// 供前台调用的方法
        
    /// </summary> 
        
    /// <returns></returns>
        [AjaxMethod]
        
    public string PageAjaxMethod()
        {
            
    return DateTime.Now.ToString();
        }
    }

    UserControl.ascs源码为: 注意红色部分是调用后台Ajax的方法。

    代码
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControlAjax.ascx.cs"
        Inherits="UserControl_UseUserControlAjax_WebUserControlAjax" %>
    <%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
    <ext:Panel ID="Panel1" runat="server" Height="300" Title="用户自定义控件内容">
        
    <Body>
            
    <ext:Button ID="btnUseAjax" runat="server" Text="调用Ajax">
                
    <Listeners>
                    
    <%--此处调用自定义控件后台的PageAjaxMethod方法,注意此处的命名空间为UserControlSapce--%>
                    
    <Click Handler="Coolite.AjaxMethods.UserControlSapce.PageAjaxMethod(
                    {
                        success:function(result)
                        {
                            Ext.Msg.alert(result);
                        }
                    });" />
                
    </Listeners>
            
    </ext:Button>
        
    </Body>
    </ext:Panel>


     父界面的源码为:父界面后台没有代码。

    代码
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="frmUseControlAjax.aspx.cs"
        Inherits="UserControl_UseUserControlAjax_frmUseControlAjax" %>

    <%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
    <%@ Register Src="WebUserControlAjax.ascx" TagName="WebUserControlAjax" TagPrefix="uc1" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        
    <title></title>
    </head>
    <body>
        
    <ext:ScriptManager ID="ScriptManager1" runat="server">
        
    </ext:ScriptManager>
        
    <form id="form1" runat="server">
        
    <div>
            
    <ext:Panel ID="Panel1" runat="server" Height="300" Title="Title">
                
    <Body>
                    
    <div>
                       
    <%-- 加载用户自定义控件,并执行用户控件中的自定义事件--%>
                        
    <uc1:WebUserControlAjax ID="WebUserControlAjax1" runat="server" />
                    
    </div>
                
    </Body>
            
    </ext:Panel>
        
    </div>
        
    </form>
    </body>
    </html>


    结果为:

     

  • 相关阅读:
    Web Service简介
    初识web service
    HTTP 状态代码的完整列表
    【转】JBPM4 RepositoryService
    【转】SD和SDHC和SDXC卡的区别
    【转】PP常用TCODE
    【转】SAP会计科目表
    【转】JBPM4中 state 和 task 的不同
    【转】学习一下车险
    【转】JBPM4 TaskService
  • 原文地址:https://www.cnblogs.com/scottckt/p/1648131.html
Copyright © 2011-2022 走看看