Step 1 - Fire off a javascript function to pass parameters to Server Side Function
Step 2 - Return text to javascript function to be displayed in a label on the page.
>>>>>>
I have a LinkButton on a datagrid that fires off a JavaScript Function and passes parameters to it:
<asp:LinkButton id="lnkApprove" Width="120" runat="server" Text="Quick Approval" OnClientClick= '<%# String.Format("MessageSetu
p({0}, ""{1}"", ""{2}"");", Eval("AUTONUM"), Eval("SUBDATE"), Eval("PARID")) %>' />
>>>>>
The javascript function "MessageSetup" then passes these parameters to Server Side Function.
<script type="text/javascript">
function MessageSetup(AUTONUM, SUBDATE, PARID) {
PageMethods.QuickApprovalM
essage(AUT
ONUM, SUBDATE, PARID, ShowMessage);
}
function ShowMessage(response, userContect, methodName) {
document.getElementById('<
%= lbl_QuickApprovalMessage.C
lientID %>').innerText = response;
document.getElementById('<
%= div_QuickApprovalMessage.C
lientID %>').style.display = "block";
}
<form id="Form1" method="post" runat="server" class="aspnetmaker">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
.
.
.
Server Side Function:
<System.Web.Services.WebMe
thod()> _
Public Shared Function QuickApprovalMessage(AUTON
UM, SUBDATE, PARID) As String
Dim ErrorMsg As String = ""
QuickApprovalMessage = "No Error Message"
Exit Function
End Function
The Label to be displayed:
<div id="div_QuickApprovalMessa
ge" runat="server">
<asp:Label id="lbl_QuickApprovalMessa
ge" forecolor="#FF0000" Font-Bold="true" runat="server" /> <%--style="display:none"--
%>
</div>
In function ShowMessage, I've verified "response" is being generated and JavaScript function can read it. It's just that the Label won't display anything.
I'm using this link as my template:
https://www.aspsnippets.com/Articles/Calling-server-side-function-from-JavaScript-in-ASP.Net.aspx