注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

╰此情可待成追忆

当没有阳光时,我自己便是阳光,当没有快乐时,我自己便是快乐

 
 
 

日志

 
 

Ext.NET开发小结2(转)  

2013-11-30 19:15:35|  分类: Ext.NET |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

二、    针对页面回发再次绑定的情况
(1)、    传统asp.net是放到if (!IsPostBack) {  //…   },主要起到防止页面回发再次绑定,对于Ext.NET这种防止回发绑定的情况出现,应当放到X.IsAjaxRequest里面:
if (!X.IsAjaxRequest)
        {
            //…
        }
 
 
三、    前台JS调用后台方法
(1)    请用Ext.net.DirectMethods.FunctionName去处理
FunctionName为后台方法,且必须是public类型的,而且需要用[DirectMethod]方法进行标记:
Ext.net.DirectMethods.FunctionName(
        {
            success: function(flag) {
                //...
            }
});
 
Success部分也是个回调函数,这个回调函数的函数体部分为function,而function的参数是后台方法FunctionName的返回值,所有,我们可以针对后台不同的返回值进行相关的判断处理。
当然,如果这个后台的FunctionName函数需要从前台传递一个或多个参数过去,可以写到回调函数前面,比如
Ext.net.DirectMethods.FunctionName(param1,param2,..,paramn,
        {
            success: function(flag) {
                //...
            }
});
但是一定要用英文逗号(“,”)隔开,且能够在后台隐式转换成后台方法的对应参数的类型。这里有个技巧,如果传递多个参数比便,我们可以再前台用js拼合参数(中间用一些符号加以连接,比如$ ,|,@,&等等),变成一个参数,然后到后台再进行字符串的拆分,就说到这,组合度还是很灵活的。
 
 
(2)    关于button按钮的单击事件   
①    .普通个前台js事件方法
<ext:Button ID="Button4" runat="server" Text="刷新" Icon="ArrowRefresh" Width="60">
                <Listeners>
                 <Click handler=”functionProcdure” />
                /Listeners>
            </ext:Button> 
functionProcdure 是具体的函数过程;
 
<ext:Button ID="Button4" runat="server" Text="刷新" Icon="ArrowRefresh" Width="60">
                <Listeners>
                 <Click handler=”={ functionname }” />
                /Listeners>
            </ext:Button> 
        Functionname是具体的函数名
 
<ext:Button ID="Button4" runat="server" Text="刷新" Icon="ArrowRefresh" Width="60">
                <Listeners>
                    <Click  Handler="Ext.net.DirectMethods.functionName()” />
                /Listeners>
            </ext:Button> 
可以直接通过Ext.net.DirectMethods调用后台的方法
 
 
<ext:Button ID="Button4" runat="server" Text="刷新" Icon="ArrowRefresh" Width="60" OnClientClick="Showwin()"/>
直接写OnClientClick事件调用JS里面方法,JS里面代码为:
function  Showwin()
       {
           Ext.getCmp('Window1').show();
       }
 
<ext:Button ID="Button4" runat="server" Text="刷新" Icon="ArrowRefresh" 
ondirectclick="Button4_DirectClick"/>
直接写ondirectclick事件调用后台方法。
后台代码为:
protected void Button4_DirectClick(object sender, DirectEventArgs e)
    {
       this.Window1.Show();
    }
写DirectEvents事件调用后台方法
<ext:Button ID="Button4" runat="server" Text="刷新" Icon="ArrowRefresh"
     <DirectEvents>
     <Click OnEvent="Button4_Click" />
     </DirectEvents>
</ext:Button>
后台代码为:
protected void Button5_Click(object sender, DirectEventArgs e)
    {
        this.Window1.Show();
    }
另外注意:控件的隐藏属性为Hidden="true",而非Visible="false",后者会
找不到控件。
例如  <ext:Window ID="Window1" runat="server" Width="450" Height="280"  Title="Move Window" Padding="6"  Visible="false" Hidden="true" >


  评论这张
 
阅读(284)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017