在Ext.Net上调用ASP.net事件处理程序按钮单击

时间:2011-11-16 05:53:54

标签: c# asp.net ext.net

标记

<ext:Button ID="Button1" runat="server" Icon="ShapeSquare" Text="Submit" OnClick="GreetingBtn_Click" >
</ext:Button>

代码隐藏

public void GreetingBtn_Click(Object sender, EventArgs e)
{
        Response.Redirect("www.google.lk");
}

在这种情况下,我希望能够在Ext.net按钮上单击执行ASP.net事件处理程序。如何实现这一功能?

3 个答案:

答案 0 :(得分:3)

来自examples

标记

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

背后的代码

protected void ButtonClick(object sender, DirectEventArgs e)
{
   Response.Redirect("www.google.lk");
}        

答案 1 :(得分:3)

原始代码示例存在一些问题:

  1. EventArgs方法中的ButtonClick参数应为DirectEventArgs
  2. OnClick实例上配置的<ext:Button>属性应重命名为OnDirectClick
  3. 您可以使用DirectEvent处理程序或手动调用DirectMethod来调用服务器端方法。通过将AJAX请求返回到页面,两者都以类似的方式运行。

    以下示例演示了DirectEventDirectMethod选项。

    示例

    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        protected void Button1_Click(Object sender, DirectEventArgs e)
        {
            X.Msg.Notify("DirectEvent", DateTime.Now.ToLongTimeString()).Show();
        }
    
        [DirectMethod]
        public void DoSomething()
        {
            X.Msg.Notify("DirectMethod", "DoSomething was called").Show();
        }
    </script>
    
    <html>
    <head runat="server">
        <title>Ext.NET Example</title>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
    
            <ext:Button runat="server" Text="DirectEvent">
                <DirectEvents>
                    <Click OnEvent="Button1_Click" />
                </DirectEvents>
            </ext:Button>
    
            <ext:Button runat="server" Text="DirectMethod">
                <Listeners>
                    <Click Handler="Ext.net.DirectMethods.DoSomething();" />
                </Listeners>
            </ext:Button>
        </form>
    </body>
    </html>
    

    希望这有帮助。

答案 2 :(得分:2)

在Ext.net按钮上添加属性AutoPostBack="true"

<Buttons>
    <ext:Button ID="Button1" runat="server" Icon="ShapeSquare" AutoPostBack="true" Text="Submit" OnClick="GreetingBtn_Click" >
    </ext:Button>
</Buttons>