Jun 29, 2009, 5:24 AM
RE: [ADDED] [V0.8.1] Ability to define event handlers for all ajax requests in the ScriptManager
Brilliant. Thanks. Looking forward to 0.9 :)
[AjaxMethod]
public static bool DoSomething()
{
return WasItDone();
}
And in ASP.NET: <ext:ToolbarButton ID="btnId" runat="server" Text="Test this">
<Listeners>
<Click Handler="My.Code.DoSomething({
success : mySuccessHandler,
failure : myFailureHandler,
eventMask: { showMask: true, minDelay: 50, msg:'Getting...' }
});" />
</Listeners>
</ext:ToolbarButton>
It may be my fault partly -- in the original request for this feature, I didn't clarify that I'd like it for AjaxMethods as well as Ajax Events.<%@ Page Language="C#" %>
<%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
<script runat="server">
protected void Button1_Click(object sender, AjaxEventArgs e)
{
Ext.Notification.Show(new Notification.Config
{
Title = "Button1_Click",
AutoHide = false,
Html = "Success!<br />" + DateTime.Now.ToString()
});
}
protected void Button2_Click(object sender, AjaxEventArgs e)
{
throw new ArgumentException("Invalid Arguments");
}
[AjaxMethod]
public void PopToast()
{
Ext.Notification.Show(new Notification.Config
{
Title = "AjaxMethod",
AutoHide = false,
Html = "Success!<br />" + DateTime.Now.ToString()
});
}
[AjaxMethod]
public void ThrowException()
{
throw new ArgumentException("Invalid Arguments");
}
</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 id="Head1" runat="server">
<title>Coolite Toolkit Example</title>
</head>
<body>
<form id="form1" runat="server">
<ext:ScriptManager ID="ScriptManager1" runat="server" AjaxMethodNamespace="CompanyX">
<Listeners>
<BeforeAjaxRequest Handler="popToast('BeforeAjaxRequest', el, action);" />
<AjaxRequestComplete Handler="popToast('AjaxRequestComplete', el, action);" />
<AjaxRequestException Handler="popToast('AjaxRequestException', el, action);" />
</Listeners>
</ext:ScriptManager>
<script type="text/javascript">
var popToast = function (title, el, action) {
Coolite.Ext.Notification.show({
title : title,
autoHide : false,
html : String.format("control: {0}<br />action: {1}", el.id, action)
});
};
</script>
<ext:Button ID="Button1" runat="server" Icon="Accept" Text="Before and Complete (AjaxEvent)">
<AjaxEvents>
<Click OnEvent="Button1_Click" />
</AjaxEvents>
</ext:Button>
<ext:Button ID="Button2" runat="server" Icon="Error" Text="Throw Exception (AjaxEvent)">
<AjaxEvents>
<Click OnEvent="Button2_Click" />
</AjaxEvents>
</ext:Button>
<hr />
<ext:Button ID="Button3" runat="server" Icon="Accept" Text="Before and Complete (AjaxMethod)">
<Listeners>
<Click Handler="CompanyX.PopToast();" />
</Listeners>
</ext:Button>
<ext:Button ID="Button4" runat="server" Icon="Error" Text="Throw Exception (AjaxMethod)">
<Listeners>
<Click Handler="CompanyX.ThrowException();" />
</Listeners>
</ext:Button>
</form>
</body>
</html>
Hope this helps.