Solved

ASP.NET trigger javascript function from Server side

Posted on 2014-09-04
10
255 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
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 

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

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Foolproof security solutions has become one of the key necessities of every e-commerce or Internet banking website. If you too own an online shopping site then its vital for you to equip your web portal with customer security features that can allow…
If I have to fix slow responding website my first thoughts are server side optimizations: the database may not be optimized or caching is not enabled, or things like that. We often overlook another major part of our web application: the client. We o…
Use Wufoo, an online form creation tool, to make powerful forms. Learn how to selectively show certain fields based on user input using rules to gather relevant information and data from your forms. The rules feature provides you with an opportunity…
Learn how to set-up PayPal payment integration in your Wufoo form. Allow your users to remit payment through PayPal upon completion of your online form. This is helpful for collecting membership payments, customer payments, donations, and more.

705 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