Coolite中的按钮方法调用

Coolite的方法调用很灵活,它可以非常方便的调用javascript方法,也可以调用后台代码中的方法,也可以非常灵活的传递参数。

一、按钮调用javaScript中的方法

       首先假设javascript方法为

          var   scriptMethod = function ()
              {
                  ...
              };

        1.调用javascript方法的第一种方法.

            < ext:Button  ID ="btn1"  Text ="按钮1"  runat ="server" >
               
< Listeners >
                   
< Click  Fn ="scriptMethod" />
               
</ Listeners >
           
</ Button >

        2.调用javascript方法的第二种方法     

            < ext:Button  ID ="btn1"  Text ="按钮1"  runat ="server" >
               
< Listeners >
                   
< Click  Handler ="={scriptMethod}" />
               
</ Listeners >
           
</ Button >

  二、按钮调用服务器端代码中的方法

       1.第一种跟asp.net非常像的方法.

            < ext:Button  ID ="btn1"  Text ="按钮1"  runat ="server" >
               
< AjaxEvents >
                    
< Click  onEvent ="Btn1_Click" />
               
</ AjaxEvents >
           
</ Button >

 对应的方法为:

            protected   void  Btn1_Click( object  sender, AjaxEventArgs e)
           {
              
this .SetTime();
           }

        跟原来的asp.net不同的地方就在于AjaxEventArgs这里了。

      2.接下来的这个方法,功能强大,传参方便,还可以加上回调函数,非常方便。

例子1: 

< ext:Button  ID ="btn1"  Text ="按钮1"  runat ="server" >
       
< Listeners >
             
< Click  Handler ="Coolite.AjaxMethods.MyServerMethod(
                                       
#{textName}.value,
                                       
#{textPass}.value,
                                       {
                                            
success:function(result){Ext.Msg.Alert('msg',result);}
                                       }); "
/>
      
</ Listeners >
</ Button >

  这样写,就会调用了服务器端代码中如下的方法:

           [AjaxMethod]
           
public   int  MyServerMethod( string  参数1,2等等 )
           {
              ... 
              
return  ...;
            }

      黄色的部分是传递的参数,比如#{txtName}.value 是ID为txtName的控件内所填的值,控件可以是Ext控件,也可以是asp服务器端控件,也可以是HTML控件.青色的部分是回调函数,就是你所调用的方法执行完毕后,会返回一个值result,你可以在这里调用javaScript去处理这个值.   
例子2:

< ext:Button  ID ="Button1"  runat ="server"  Text ="Say Hello" >
     
< Listeners >  
         
< Click  Handler ="Coolite.AjaxMethods.SayHello(
                                'World', 
                                {         
                                    success: function (result) {alert(result);}    
                                });"
  />
     
</ Listeners >
</ ext:Button >

这样写,就会调用服务器代码中的如下方法:

       [AjaxMethod]
       
public   string  SayHello( string  text)
       {   
            
return   " Hello  "   +  text;
       }

 三、在javaScript中调用后台方法   

var  DelSelected = function (){
                Ext.MessageBox.confirm(
' 提示 ' ' 是否要删除记录 ' , function (btn){
                            
if  (btn  ==   ' yes ' ) {
                                Coolite.AjaxMethods.Del();
                            }
                });

(转)

你可能感兴趣的:(方法调用)