I need to execute js from an ajax postback that was initiated from an ext:TaskManager. The task manager and js code are all on the child page but the Ext:ResourceManager resides on the Masterpage. Any help would be appreciated, thanks!
Printable View
I need to execute js from an ajax postback that was initiated from an ext:TaskManager. The task manager and js code are all on the child page but the Ext:ResourceManager resides on the Masterpage. Any help would be appreciated, thanks!
Hello, tjbishop!
You can use method AddScript of X class.
ExampleCode:X.AddScript("alert('Message')");
Master page:
Content page:Code:<%@ Master Language="C#"%>
<!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 runat="server">
<title>Ext.Net Example</title>
</head>
<body>
<form runat="server">
<ext:ResourceManager runat="server" />
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" />
</form>
</body>
</html>
Code:<%@ Page Title="" Language="C#" MasterPageFile="~/Premium help/_Work.Master" %>
<script runat="server">
protected void Update_Handler(object sender, DirectEventArgs e)
{
X.AddScript("Ext.Msg.alert('Server Update', 'Hello from server! Here is your js code!')");
}
</script>
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<ext:TaskManager ID="TaskManager1" runat="server">
<Tasks>
<ext:Task TaskID="testTask" AutoRun="false">
<DirectEvents>
<Update OnEvent="Update_Handler" Success="#{TaskManager1}.stopTask('testTask');"/>
</DirectEvents>
</ext:Task>
</Tasks>
</ext:TaskManager>
<ext:Button runat="server" Text="Start Task">
<Listeners>
<Click Handler="#{TaskManager1}.startTask('testTask');" />
</Listeners>
</ext:Button>
</asp:Content>
Perfect, thanks!
You can also use the .Call() Method to call a specific JavaScript client-side function by name.
Example
The "doSomething" function would be defined in the client-side JavaScript.Code:X.Call("doSomething");
Example
By the way, you can also fire a client-side alert with the following.Code:var doSomething = function () {
// do...
}
Example
Hope this helps.Code:X.Js.Alert("Hello World");