1

标记

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

4

3 回答 3

4

您的原始代码示例存在几个问题:

  1. 您的方法中的EventArgs参数ButtonClick应该是DirectEventArgs.
  2. 实例上配置的OnClick属性<ext:Button>应重命名为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>

希望这可以帮助。

于 2011-11-16T10:25:55.040 回答
3

例子

标记

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

背后的代码

protected void ButtonClick(object sender, DirectEventArgs e)
{
   Response.Redirect("www.google.lk");
}        
于 2011-11-16T06:42:24.933 回答
2

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

<Buttons>
    <ext:Button ID="Button1" runat="server" Icon="ShapeSquare" AutoPostBack="true" Text="Submit" OnClick="GreetingBtn_Click" >
    </ext:Button>
</Buttons>
于 2012-04-20T08:42:37.470 回答