pillinetwork hesabınızla giriş yapın.

Update Progress ile asenkron yüklemeler 1

Bir veya birden çok UpdatePanel’in sayfada
yer aldığı uygulamalarda bazen bölgesel
bazen detüm sayfadaki yüklemelerin
durumlarına ait bilgileri kullanıcıya göstermek önemli
olacaktır. ASP.NET ile beraber gelen UpdateProgress
kontrolü ile kolaylıkla asenkron işlemlerin takibini
yaparak kullanıcılara “Yükleniyor” mesajları
gösterebiliyoruz.

İlk UpdateProgress örnegi

UpdateProgress kullanabilmemiz için sayfada bir
asenkron AJAX işleminin gerçekleşiyor olması
gerekir. Bu nedenle hemen aşağıdaki gibi bir sayfayı
hazırlayarak bir UpdatePanel içerisinde bir Label ve
Button yerleştireceğiz.

1
2
3
4
5
6
7
<%@ Page Language="VB" AutoEventWireup="false"
CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>

Sonrasında hemen Button1’in arkasına aşağıdaki
kodları yazarak 5 saniyelik bir yükleme işlemini simüle
etmek için sistemi 5 saniyeliğine asenkron isteğe cevap
verirken uyutalım.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
VB
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Button1.Click
System.Threading.Thread.Sleep(5000)
End Sub
End Class
C#
public partial class Default2 : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(5000);
}
}

Tüm bu işlemleri tamamladıktan sonra sıra geldi
sayfaya uygun bir UpdateProgress kontrolü koymaya.
UpdateProgress kontrollerini aşağıdaki şekliyle
sayfada istediğiniz yere yerleştirebilirsiniz.

1
2
3
4
5
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
<ProgressTemplate>
Yükleniyor...
</ProgressTemplate>
</asp:UpdateProgress>

Yukarıdaki kod içerisinde de görebileceğiniz üzere
UpdateProgress kontrolünün içerisindeki
ProgressTemplate aslında UpdateProgress
kontrolünün görünür yüzünü tanımlıyor.
UpdateProgress kontrolleri normal şartlarda sayfada
gözükmezler. Sadece asenkron bir AJAX yüklemesi
gerçekleşirken UpdateProgress sayfada görünür
olacaktır. Böylece Button1’e bastığımızda
“Yükleniyor” mesajı beş saniye boyunca kullanıcıya
gösterilecek.

1
2
3
4
5
6
7
8
9
10
<%@ Page Language="VB" AutoEventWireup="false"
CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
<ProgressTemplate>
Yükleniyor...
</ProgressTemplate>
</asp:UpdateProgress>
</div>
</form>
</body>
</html>

Spacer
Spacer
/* Gennozaki yazdı. 09 Mart 2010 17:45. 0 yorum var */

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

Bu Yazıyı Tutanlar

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)

Bu site

Nokta ve pilli ortak yapımı olan kodaman.org hep birlikte içerik üretip gelirini yazarları ile paylaştığımız kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.

pilliilan

son yorumlar

arama

pillinetwork