Solved

ASP.NET trigger javascript function from Server side

Posted on 2014-09-04
10
257 Views
Last Modified: 2014-09-19
hi Experts,



  On the click of a button , some server side process is happening  .  I already have a small piece of javascript ( runs at on clientclick) to show a  'waiting image'  .
    The javascript line of code is
            document.getElementById("HiddenLoadingImage").style.display = 'block';
    (The defualt display state of the Image is hidden  and it is shows up only when the button is clicked)

 Also, when the server  processing is over, I have a  server side line of code to show a message that the processing is done
   
    System.Web.HttpContext.Current.Response.Write( _
           "<SCRIPT LANGUAGE='JavaScript'> alert('Process Done')</SCRIPT>")
     
    But my issue is -  The Waiting image  is still visible when the Alert of  "Process Done"  pops up.  
    How can I  hide the image first and then show the Alert ?

  Thanks

   Sam
0
Comment
Question by:Sam OZ
  • 5
  • 5
10 Comments
 
LVL 12

Expert Comment

by:Ramkisan Jagtap
ID: 40303165
Please check the default state of the image. I doubt if it is hidden when it is loaded.

or you can try editing your server side script as below:

 System.Web.HttpContext.Current.Response.Write( _
           "<SCRIPT LANGUAGE='JavaScript'> alert('Process Done');
document.getElementById("HiddenLoadingImage").style.display = 'none';     </SCRIPT>")
0
 

Author Comment

by:Sam OZ
ID: 40303574
Hi Ramkisan,

     I am not sure I stated my issue clearly . When the alert pops up the image is visible. But if I click ok, the image becomes invisible

 I already tired the code you suggested . It doesn't work , unfortunately
0
 
LVL 12

Expert Comment

by:Ramkisan Jagtap
ID: 40305088
HI Sam,

Just give a try with following:

System.Web.HttpContext.Current.Response.Write( _
            "<SCRIPT type='text/javascript'>  document.getElementById("HiddenLoadingImage").style.display = 'none';
alert('Process Done');
    </SCRIPT>")
0
 

Author Comment

by:Sam OZ
ID: 40305099
Hi Ram,

   I have tried that too,  That is not the solution.
0
 
LVL 12

Expert Comment

by:Ramkisan Jagtap
ID: 40305102
If possible, Can you please post your code here?
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:Sam OZ
ID: 40305139
Hi Ram,

   Please see the attachment for the test code . ( You need to have an image by name Spinner.jpg  under the folder \images  )

 Just a correction  in my code ---  
      Use either    System.Web.HttpContext.Current.Response.Write
            or  ScriptManager.RegisterStartupScript
       ( You need to comment out one of thse)
ClientPostFromServer.zip
0
 
LVL 12

Expert Comment

by:Ramkisan Jagtap
ID: 40305159
Hello Sam,

Change you code as below:

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">
   
   <script type="text/javascript" language="javascript">

       function AlertClient() {
           document.getElementById("HiddenLoadingImage").style.display = 'none';
           alert("Test Done");
       }

       function DisplayLoadingImage() {
           document.getElementById("HiddenLoadingImage").style.display = "block";
       }

  </script>

    <title></title>
</head>

<body onload="AlertClient()">
    <form id="form1" runat="server">
         <div>      
        <img id='HiddenLoadingImage' src="Images/Spinner.jpg" style="display:none"/>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="DisplayLoadingImage()" />
    </div>        
    </form>
</body>
</html>

 Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        WasteTime()
        Dim strMessage As String
        strMessage = "This is test"
    End Sub

    Sub WasteTime()
        Dim i, j, k As Integer
        For i = 0 To 1000
            For j = 0 To 1000
                For k = 0 To 100

                Next
            Next
        Next
    End Sub
0
 

Author Comment

by:Sam OZ
ID: 40305278
Hi Ram,

    It can't happen on the Onload in the client . it should happen only after the Button is clicked ( In my actual code there are many other controls)

 Also , Infact, strictly speaking , the Alert should come with the value of a server variable ( But that is not the real problem I face)
0
 
LVL 12

Accepted Solution

by:
Ramkisan Jagtap earned 500 total points
ID: 40305400
Are you using ajax in your project? If yes you can make a use of Update Progress from ajaxtoolkit dll

http://ajax.net-tutorials.com/controls/updateprogress-control/
0
 

Author Comment

by:Sam OZ
ID: 40311564
Hi Ram & other Experts,

    AJAX is not used in this project , unfortunately  ( This is a revamp project ) . Also I am a little naive with AJAX

    Is there really a way to do this with no AJAX ?
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Foreword (May 2015) This web page has appeared at Google.  It's definitely worth considering! https://www.google.com/about/careers/students/guide-to-technical-development.html How to Know You are Making a Difference at EE In August, 2013, one …
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
This video teaches viewers how to create their own website using cPanel and Wordpress. Tutorial walks users through how to set up their own domain name from tools like Domain Registrar, Hosting Account, and Wordpress. More specifically, the order in…
This video teaches users how to migrate an existing Wordpress website to a new domain.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now