Link to home
Start Free TrialLog in
Avatar of shelbyinfotech
shelbyinfotech

asked on

Setting Asp Label text and display from Javascript not working

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
Avatar of zephyr_hex (Megan)
zephyr_hex (Megan)
Flag of United States of America image

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

Avatar of shelbyinfotech
shelbyinfotech

ASKER

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

"lbl_QuickApprovalMessage" is the label name.
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.
You'll want to use console.log() to "step" through the JS code.
I've attached screen prints to help explain what I am seeing.
ASKER CERTIFIED SOLUTION
Avatar of shelbyinfotech
shelbyinfotech

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Contributors did not provide assistance...