We help IT Professionals succeed at work.

Setting Asp Label text and display from Javascript not working

444 Views
Last Modified: 2017-03-25
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("MessageSetup({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.QuickApprovalMessage(AUTONUM, SUBDATE, PARID, ShowMessage);

        }

        function ShowMessage(response, userContect, methodName) {
            document.getElementById('<%= lbl_QuickApprovalMessage.ClientID %>').innerText = response;
            document.getElementById('<%= div_QuickApprovalMessage.ClientID %>').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.WebMethod()> _
        Public Shared Function QuickApprovalMessage(AUTONUM, SUBDATE, PARID) As String
            Dim ErrorMsg As String = ""
            QuickApprovalMessage = "No Error Message"

            Exit Function

        End Function

The Label to be displayed:

<div id="div_QuickApprovalMessage" runat="server">
    <asp:Label id="lbl_QuickApprovalMessage" 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
Comment
Watch Question

CERTIFIED EXPERT
Top Expert 2010

Commented:
Shouldn't this line:

QuickApprovalMessage = "No Error Message"

Open in new window


refer the the Text property of the label?

QuickApprovalMessage.Text = "No Error Message"

Open in new window

Author

Commented:
"QuickApprovalMessage" is the Function name - which is defined as a string.

"lbl_QuickApprovalMessage" is the label name.

Author

Commented:
I've stepped through the code and while stepping through the post-back in code behind, the message appears as it is supposed to.  Then Visual Studio steps through the javascript code (like it's compiling it?) and the message disappears.
CERTIFIED EXPERT
Top Expert 2010

Commented:
You'll want to use console.log() to "step" through the JS code.

Author

Commented:
I've attached screen prints to help explain what I am seeing.
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
Contributors did not provide assistance...
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.