Solved

Update asp.net label dynamically with jquery ajax

Posted on 2008-10-22
4
6,715 Views
Last Modified: 2012-08-13
Hello experts,

I have an asp.net page that on the Page_Load method takes some value from the database and then assigns it to an asp.net Label.

.aspx
....
<body>
...
<asp:Label ID="ResultLabel1" runat="server"></asp:Label>
...
</body>

.aspx.cs
....
protected void Page_Load(object sender, EventArgs e)
{
...
resultText = ...
ResultLabel1.Text = resultText;
...
}

This value is being dynamically changed on the background, but unfortunately the only way right now to update this value is to manually reload the whole page.

I would like to implement ajax request using jquery in order to update that value on the page dynamically (let's say once in a minute) without manual reloading the whole page.

I figured out that with jquery I can use $.get to get the same page and somehow parse the returned html. I'm new to jquery and javascript itself, so unfortunately I cannot get any further...

Any ideas?
Thanks!
0
Comment
Question by:snarinsky
  • 3
4 Comments
 
LVL 19

Expert Comment

by:Albert Van Halen
ID: 22779875
To get the client element from a ASP.NET server control use can use it's ClientID property.
In order to change the text of your label you can use :

$("#<%= ResultLabel1.ClientID %>").text("New text");
0
 
LVL 19

Expert Comment

by:Albert Van Halen
ID: 22779885
NB This is jQuery so Clientside scripting
0
 

Author Comment

by:snarinsky
ID: 22780024
Ok thanks, but how can get the value of this label from the returned page?

My idea (I'm not sure if it's right) was to do something like the following:

       $.get(
            "<current page>",                 // Somehow I need to figure out how to get current url??
            function(html)
            {
                $("#<%= ResultLabel1.ClientID %>").text("<updated value from the returned page>");      //Somehow I need to parse html of the returned page and get the new value of the ClientID label to reassign it here????
            }
0
 
LVL 19

Accepted Solution

by:
Albert Van Halen earned 500 total points
ID: 22780652
So, you want to process a complete page just in order to return a specific value which is displayed in a label.
Perhaps it's better to create a handler in ASP.Net (a file with the extension ashx).
This handler will function like a classic asp page, and will return just whatever you want (ie a specific value from the database), without all the overhead of a aspx page without to extract a certain value from the page which is rendered.
Keep in mind that a handler is a standalone page and will rely on the input you are sending to it in order to process things.

Usefull link http://www.aspcode.net/Creating-an-ASHX-handler-in-ASPNET.aspx, or just google on "asp.net ashx file"
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

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

In this article you'll learn how to use Ajax calls within your CodeIgniter application. To explain this, I'll illustrate how to implement a simple contact form to allow visitors to send you an email through your web site.
I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

776 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