[英]Call an ASP.net Event Handler on Ext.Net Button Click
标记
<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:Button
ID="Button1"
runat="server"
Text="Click Me"
OnDirectClick="ButtonClick" />
后面的代码
protected void ButtonClick(object sender, DirectEventArgs e)
{
Response.Redirect("www.google.lk");
}
您的原始代码示例存在两个问题:
ButtonClick
方法中的EventArgs
参数应为DirectEventArgs
。 <ext:Button>
实例上配置的OnClick
属性应重命名为OnDirectClick
。 您可以使用DirectEvent
处理程序来调用服务器端方法,也可以手动调用DirectMethod
。 通过向页面发出AJAX请求,两者以相似的方式起作用。
下面的示例演示DirectEvent
和DirectMethod
选项。
例
<%@ 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.net按钮上添加属性AutoPostBack="true"
。
<Buttons>
<ext:Button ID="Button1" runat="server" Icon="ShapeSquare" AutoPostBack="true" Text="Submit" OnClick="GreetingBtn_Click" >
</ext:Button>
</Buttons>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.