zoukankan      html  css  js  c++  java
  • Ext.Net系列:二Event之DirectEvent 示例1调用事件顺序

    此示例演示DirectEvent中定义的事件Before、After、Success、Failure、Complete执行顺序

       这些事件是JS方法定义。以此执行的顺序是:1、Before 2、After 3、有异常或操作不成功Failure否则Success 4、Complete

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="EvnetOrder.aspx.cs" Inherits="Events_DirectEvents_EvnetOrder" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <!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>
    
        <script runat="server">
            protected void CheckAuthor(object sender, DirectEventArgs e)
            {
                string author = e.ExtraParams["author"];
                if (author != "老虞")
                {
                    e.ErrorMessage = "笔者不是老虞,而是" + author;
                    e.Success = false;
                }
                else
                {
                    //添加信息到客户端
                    Ext.Net.Parameter parameter = new Ext.Net.Parameter();
                    parameter.Name = "serverTime";
                    parameter.Value = DateTime.Now.ToLongDateString();
                    e.ExtraParamsResponse.Add(parameter);
    
                    StringBuilder msg = new StringBuilder();
                    for (int i = 0; i < e.ExtraParams.Count; i++)
                    {
    
                        msg.AppendFormat("{0}={1}<br/>", e.ExtraParams[i].Name, e.ExtraParams[i].Value);
                    }
                    X.MessageBox.Notify(new NotificationConfig() { Icon = Icon.ApplicationHome, Title = "服务器:笔者信息", Html = msg.ToString() }).Show();
    
                }
            }
        </script>
    
        <script type="text/javascript">
          var index=0;
          var afterMethod=function(element,extraParams)
          {
                index++;
                var  params =extraParams || {}; 
                var msg="Author:"+params.author+"<br/>";
                msg+="BLog:<a target='_blank' href='"+params.blog+"'>"+params.blog+"</a><br/>";
                msg+="Time:"+params.time; 
                Ext.net.Notification.show({
                  title:'afterMethod Index='+index,
                  html:msg});
          }
          var beforeMethod=function(el,type,action,extraParams)
          {
              index++; 
              Ext.net.Notification.show({
                  title:'Before Index='+index,
                  html:""});
          }
          var failureMethod=function(response,result,control,type,action,extraParams)
          {
              index++;
              Ext.net.Notification.show({
                  title:'failureMethod Index='+index,
                  html:result.errorMessage});
            
               
          }
          var successMethod=function(response,result,control,type,action,extraParams)
          {
            index++;
            Ext.net.Notification.show({
              title:'successMethod Index='+index,
              html:result.extraParamsResponse.serverTime}); 
          }
          var completeMethod=function(success, response, result, control, type, action, extraParams)
          {
              index++;
              Ext.net.Notification.show({
                  title:'completeMethod index='+index,
                  html:success.toString()});
          }
          
        </script>
    
    </head>
    <body>
        <form id="form1" runat="server">
        <ext:ResourceManager ID="ResourceManager1" runat="server">
        </ext:ResourceManager>
        <ext:TextField ID="txtAuthor" runat="server" FieldLabel="笔者" Text="老虞" />
        <ext:Button ID="Button1" runat="server" Text="提交">
            <DirectEvents>
                <Click Failure="failureMethod" After="afterMethod" Before="beforeMethod" Complete="completeMethod"
                    Success="successMethod" OnEvent="CheckAuthor" CleanRequest="false">
                    <ExtraParams>
                        <ext:Parameter Name="author" Value="txtAuthor.getValue()" Mode="Raw" />
                        <ext:Parameter Name="blog" Value="http://www.cnblogs.com/howdo" Mode="Value" />
                        <ext:Parameter Name="time" Value="new Date()" Mode="Raw" />
                    </ExtraParams>
                </Click>
            </DirectEvents>
        </ext:Button>
        </form>
    </body>
    </html>
    这里可以通过查看Index的值判断方法执行顺序。 点击提交按钮,显示结果如下:未命名
    老虞,Gopher,golang主页:http://howdo.cnblogs.com/
  • 相关阅读:
    Win7旗舰版中的IIS配置asp.net的运行环境
    选中弹出层中内容
    在windows server 2003中配置ipad測試環境
    TFS 2012 Preview Quickstart
    Windows Azure Quick Start Hello World
    2013总结 和2014期望
    一个简单的.net写日志方法 可能的改进点
    基于Visual Studio的软件生命周期管理和持续交付 (二) 采用成熟度
    关于加班的那些事
    基于Visual Studio的软件生命周期管理和持续交付 (一) 前言
  • 原文地址:https://www.cnblogs.com/howDo/p/2039985.html
Copyright © 2011-2022 走看看