• DirectEvents EXT.NET


    JS :

    HTML:

                                    <ext:Button ID="UploadButton" runat="server" Text="文件上传" Icon="TableColumnAdd" >
                                        <DirectEvents>
                                            <Click
                                                OnEvent="UploadClick"
                                                Before="Ext.MessageBox.wait('', '上传中,请稍等...',
                                                                                   {
                                                                                       interval: 1000, 
                                                                                       duration: 50000,
                                                                                       increment: 10,
                                                                                       text: '上传中...',
                                                                                       scope: this
    
                                                                                   }); "
                                                Failure="Ext.Msg.show({
                                                                                        title   : '错误',
                                                                                        msg     : '上传失败
                                                                                        minWidth: 200,
                                                                                        modal   : true,
                                                                                        icon    : Ext.Msg.WARNING,
                                                                                        buttons : Ext.Msg.OK
                                                                                    });"
                                                Timeout="30000">
                                            </Click>
                                        </DirectEvents>
                                    </ext:Button>
    或者

    <ext:Button 
          ID="Button1" 
          runat="server" 
          Text="Click Me" 
          OnDirectClick="ButtonClick" />
    或者 

    <ext:Button ID="Button1" runat="server" Text="Click Me">
    	<DirectEvents>
    		<Click OnEvent="Button1_Click" Success="var myParam=result.extraParamsResponse.myParam;"> //招收 C#函数中的参数。
    		</Click>
    	</DirectEvents>
    </ext:Button>


    C#:

    protected void UploadClick(object sender, DirectEventArgs e) //函数是包含 object sender, DirectEventArgs e 两个参数的。 返回值必须为void,
    {
    //
    返回参数使用
    
    
                Ext.Net.Parameter myParam=new Ext.Net.Parameter("myParam", "123");
              e.ExtraParamsResponse.Add(myParam);


    }

    Example

    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        protected void TestDirectEventHandler(object sender, DirectEventArgs e)
        {
            X.Msg.Alert("DirectEvent", e.ExtraParams.Count).Show();
        }
    
        protected void AddParameter(object sender, DirectEventArgs e)
        {
            object p = new { 
                name = "newParam",
                value = "newParam",
            };
    
            X.Js.Call("addParameter", new JRawValue(Button1.ClientID), p);
        }
    </script>
    
    <!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>Ext.Net Example</title>
    
        <script type="text/javascript">
            var onBefore = function (button, extraParams) {
                if (button.clickExtraParam) {
                    extraParams[button.clickExtraParam.name] = button.clickExtraParam.value;
                } 
            };
    
            var addParameter = function (button, p) {
                if (!button.clickExtraParam) {
                    button.clickExtraParam = {};
                }
                button.clickExtraParam.name = p.name;
                button.clickExtraParam.value = p.value;   
            };
        </script>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
            <ext:Button ID="Button1" runat="server" Text="DirectEvent with ExtraParams">
                <DirectEvents>
                    <Click OnEvent="TestDirectEventHandler" Before="onBefore(this, extraParams)">
                        <ExtraParams>
                            <ext:Parameter Name="someParam" Value="someParam" Mode="Value" />
                        </ExtraParams>    
                    </Click>
                </DirectEvents>
            </ext:Button>
            <ext:Button runat="server" Text="Add an extra parameter" OnDirectClick="AddParameter" />
        </form>
    </body>
    </html>
  • 相关阅读:
    字符统计和滑动窗口
    字典树应用及用哈希表代替
    迷宫里的动态规划应用
    求所有排列中的第 i 个排列的问题
    最大子串和问题
    二分查找、变形及应用
    前 n 个数原址排序的问题
    LeetCode 32 括号匹配
    11.常用的API
    10.正则表达式
  • 原文地址:https://www.cnblogs.com/BinBinGo/p/11049497.html
Copyright © 2020-2023  润新知