Webmethod needs to return string to Javascript function for processing.
-
I have a WebDayView control (proprietary Infragistics ASP.net control) in a user control. This control has a client-side click event. The click event executes a piece of Javascript which in turn calls a static webmethod in the codebehind. What I want is for this webmethod to return the string “Hello” to the Javascript function so that an alert can display it. The problem that I have is that the alert displays “undefined” instead of “Hello”. This is because the webmethod executes only after the Javascript has executed. How can I get my code to work properly so that the alert displays the returned string from the webmethod? Cs: [System.Web.Services.WebMethod] public static string SetAppointmentInfo(int key) { return "Hello"; } Aspx: <html xmlns="http://www.w3.org/1999/xhtml"> <body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"> </asp:ScriptManager> <div> <uc1:WebUserControl ID="WebUserControl1" runat="server" /> </div> </div> </form> </body> </html> Js: function WebDayView1_Click(oDayView, oEvent, element) { alert(PageMethods.SetAppointmentInfo(15, OnSucceeded, OnFailed)); } function OnSucceeded() { //alert("Succeeded"); } function OnFailed() { alert("Failed"); } Cs (user control): protected void Page_Load(object sender, EventArgs e) { this.WebScheduleSqlClientProvider1.Connect("Database=cmRMI;Server=processor;user id=hardus;password=hardus"); this.WebDayView1.ClientEvents.Click = "WebDayView1_Click"; //register click event } Aspx (user control): <asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server"> <Scripts> <asp:ScriptReference path="~/scripts/JScript.js" /> </Scripts> </asp:ScriptManagerProxy> <igsch:WebScheduleInfo ID="WebScheduleInfo1" runat="server" onactivityadded="WebScheduleInfo1_ActivityAdded" onactivitydeleted="WebScheduleInfo1_ActivityDeleted" onactivityupdated="WebScheduleInfo1_ActivityUpdated" > </igsch:WebScheduleInfo> <p> <ig_scheduledata:WebScheduleSqlClientProvider ID="WebScheduleSqlClientProvider1" runat="server" WebScheduleInfoID="WebScheduleInfo1" StyleSetName="" StyleSetPath="" StyleSheetDirectory=""> </ig_scheduledata:WebScheduleSqlClientProvider> </p> <igsch:WebDayView ID="W
-
I have a WebDayView control (proprietary Infragistics ASP.net control) in a user control. This control has a client-side click event. The click event executes a piece of Javascript which in turn calls a static webmethod in the codebehind. What I want is for this webmethod to return the string “Hello” to the Javascript function so that an alert can display it. The problem that I have is that the alert displays “undefined” instead of “Hello”. This is because the webmethod executes only after the Javascript has executed. How can I get my code to work properly so that the alert displays the returned string from the webmethod? Cs: [System.Web.Services.WebMethod] public static string SetAppointmentInfo(int key) { return "Hello"; } Aspx: <html xmlns="http://www.w3.org/1999/xhtml"> <body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"> </asp:ScriptManager> <div> <uc1:WebUserControl ID="WebUserControl1" runat="server" /> </div> </div> </form> </body> </html> Js: function WebDayView1_Click(oDayView, oEvent, element) { alert(PageMethods.SetAppointmentInfo(15, OnSucceeded, OnFailed)); } function OnSucceeded() { //alert("Succeeded"); } function OnFailed() { alert("Failed"); } Cs (user control): protected void Page_Load(object sender, EventArgs e) { this.WebScheduleSqlClientProvider1.Connect("Database=cmRMI;Server=processor;user id=hardus;password=hardus"); this.WebDayView1.ClientEvents.Click = "WebDayView1_Click"; //register click event } Aspx (user control): <asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server"> <Scripts> <asp:ScriptReference path="~/scripts/JScript.js" /> </Scripts> </asp:ScriptManagerProxy> <igsch:WebScheduleInfo ID="WebScheduleInfo1" runat="server" onactivityadded="WebScheduleInfo1_ActivityAdded" onactivitydeleted="WebScheduleInfo1_ActivityDeleted" onactivityupdated="WebScheduleInfo1_ActivityUpdated" > </igsch:WebScheduleInfo> <p> <ig_scheduledata:WebScheduleSqlClientProvider ID="WebScheduleSqlClientProvider1" runat="server" WebScheduleInfoID="WebScheduleInfo1" StyleSetName="" StyleSetPath="" StyleSheetDirectory=""> </ig_scheduledata:WebScheduleSqlClientProvider> </p> <igsch:WebDayView ID="W
Please read the forum guidelines and learn how to format code snippets you post. No one is going to read this unformatted garbage
I know the language. I've read a book. - _Madmatt
-
Please read the forum guidelines and learn how to format code snippets you post. No one is going to read this unformatted garbage
I know the language. I've read a book. - _Madmatt
My apologies. Here is the formatted code: Cs:
[System.Web.Services.WebMethod]
public static string SetAppointmentInfo(int key)
{
return "Hello";
}Aspx:
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
<div>
<uc1:WebUserControl ID="WebUserControl1" runat="server" />
</div>
</div>
</form>
</body>
</html>Js:
function WebDayView1_Click(oDayView, oEvent, element) {
alert(PageMethods.SetAppointmentInfo(15, OnSucceeded, OnFailed));
}
function OnSucceeded() {
//alert("Succeeded");
}
function OnFailed() {
alert("Failed");
}Cs (user control):
protected void Page_Load(object sender, EventArgs e)
{
this.WebScheduleSqlClientProvider1.Connect("Database=cmRMI;Server=processor;user id=hardus;password=hardus");
this.WebDayView1.ClientEvents.Click = "WebDayView1_Click"; //register click event
}Aspx (user control):
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
<Scripts>
<asp:ScriptReference path="~/scripts/JScript.js" />
</Scripts>
</asp:ScriptManagerProxy>
<igsch:WebScheduleInfo ID="WebScheduleInfo1" runat="server"
onactivityadded="WebScheduleInfo1_ActivityAdded"
onactivitydeleted="WebScheduleInfo1_ActivityDeleted" onactivityupdated="WebScheduleInfo1_ActivityUpdated" >
</igsch:WebScheduleInfo>
<p>
<ig_scheduledata:WebScheduleSqlClientProvider ID="WebScheduleSqlClientProvider1"
runat="server" WebScheduleInfoID="WebScheduleInfo1" StyleSetName=""
StyleSetPath="" StyleSheetDirectory="">
</ig_scheduledata:WebScheduleSqlClientProvider>
</p>
<igsch:WebDayView ID="WebDayView1" runat="server"
WebScheduleInfoID="WebScheduleInfo1" StyleSetName="" StyleSetPath=""
StyleSheetDirectory=""
StyleSheetFileName="C:/Users/Hardus/Documents/Visual Studio 2008/WebSites/toets/ig_res/ElectricBlue/ig_dayview.css">
</igsch:WebDayView>
<igmisc:WebPageStyler ID="WebPageStyler1" runat="server"
StyleSetName="Default" /> -
My apologies. Here is the formatted code: Cs:
[System.Web.Services.WebMethod]
public static string SetAppointmentInfo(int key)
{
return "Hello";
}Aspx:
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
<div>
<uc1:WebUserControl ID="WebUserControl1" runat="server" />
</div>
</div>
</form>
</body>
</html>Js:
function WebDayView1_Click(oDayView, oEvent, element) {
alert(PageMethods.SetAppointmentInfo(15, OnSucceeded, OnFailed));
}
function OnSucceeded() {
//alert("Succeeded");
}
function OnFailed() {
alert("Failed");
}Cs (user control):
protected void Page_Load(object sender, EventArgs e)
{
this.WebScheduleSqlClientProvider1.Connect("Database=cmRMI;Server=processor;user id=hardus;password=hardus");
this.WebDayView1.ClientEvents.Click = "WebDayView1_Click"; //register click event
}Aspx (user control):
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
<Scripts>
<asp:ScriptReference path="~/scripts/JScript.js" />
</Scripts>
</asp:ScriptManagerProxy>
<igsch:WebScheduleInfo ID="WebScheduleInfo1" runat="server"
onactivityadded="WebScheduleInfo1_ActivityAdded"
onactivitydeleted="WebScheduleInfo1_ActivityDeleted" onactivityupdated="WebScheduleInfo1_ActivityUpdated" >
</igsch:WebScheduleInfo>
<p>
<ig_scheduledata:WebScheduleSqlClientProvider ID="WebScheduleSqlClientProvider1"
runat="server" WebScheduleInfoID="WebScheduleInfo1" StyleSetName=""
StyleSetPath="" StyleSheetDirectory="">
</ig_scheduledata:WebScheduleSqlClientProvider>
</p>
<igsch:WebDayView ID="WebDayView1" runat="server"
WebScheduleInfoID="WebScheduleInfo1" StyleSetName="" StyleSetPath=""
StyleSheetDirectory=""
StyleSheetFileName="C:/Users/Hardus/Documents/Visual Studio 2008/WebSites/toets/ig_res/ElectricBlue/ig_dayview.css">
</igsch:WebDayView>
<igmisc:WebPageStyler ID="WebPageStyler1" runat="server"
StyleSetName="Default" />One, you should have editted the original post rather than adding more. :rolleyes: Have you debugged?
I know the language. I've read a book. - _Madmatt
-
One, you should have editted the original post rather than adding more. :rolleyes: Have you debugged?
I know the language. I've read a book. - _Madmatt
Yes, thanks. I've managed to make it work.