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

本文关键字:net 事件处理 程序 ASP 按钮 Ext 单击 调用 | 更新日期: 2023-09-27 18:15:02

标记

<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事件处理程序。如何实现此功能?

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

原始代码示例有几个问题:

  1. ButtonClick方法中的EventArgs参数应为DirectEventArgs
  2. <ext:Button>实例上配置的OnClick属性应重命名为OnDirectClick

您可以使用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>

希望这能有所帮助。

来自示例:

标记

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

背后的代码

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

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

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