ASP.NET Ajax UpdateProgress

UpdateProgress ASP.NET Ajax ile hazırladığımız projelerimizde kullanıcı yaptığı işlem sırasında bizim istediğimiz bir mesajın sayfa üzerinde görünmesini sağlamaktadır. UpdateProgress bir nevi progressbar işlemi görmektedir.

Şimdi bu işlemi nasıl yapacağımız görelim.

İlk önce Visual Studio ile bir ASP.NET AJAX-Enabled Web Site oluşturuyoruz ve default.aspx sayfamızı aşağıdaki gibi dizayn ediyoruz.

progressbar.jpg

Butonumuzun Click olayına aşağıdaki kodu yazıyoruz.

protected void Button1_Click1(object sender, EventArgs e)
{
     System.Threading.
Thread.Sleep(1000);
     Label1.Text =
“Deneme”;
}

Sayfamızın source kısmında UpdatePanel’in aşağıdaki gibi düzenleyelim.

<asp:UpdatePanel ID=”UpdatePanel1″ runat=”server”>
<ContentTemplate>
<asp:Label ID=”Label1″ runat=”server”></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID=”Button1″ EventName=”Click” />
</Triggers>
</asp:UpdatePanel>

Şimdide UpdateProgress’in içini aşağıdaki gibi düzenleyelim.

<asp:UpdateProgress ID=”UpdateProgress1″ runat=”server”>
<ProgressTemplate>

Bu bölüm kullanıcının PostBack işlemi sırasında sayfa üzerinde gösterilecek kısımdır.

</ProgressTemplate>
</asp:UpdateProgress>

Yukarıda görüldüğü gibi <ProgressTemplate></ProgressTemplate> tagları arasına istediğimiz metni veya ASP.NET kontrolünü ekleyip bu kontrollere eventlar atayabiliriz.

<ProgressTemplate>
<img src=”yukleniyor.gif” />Yükleniyor. <br />
<input id=”btniptal” runat=”server” type=”button” value=”Iptal” />
</ProgressTemplate>

Sayfamızı çalıştırdığımız ve butona tıkladığımız zaman ProgressTemplate kısmında yazdığımız kodların işlem sırasında kullanıcıya gösterildiğini göreceğiz. İsterseniz Thread kullanarak mesajın daha uzun süre kullanıcıya gösterilmesini sağlayabilirsiniz.

Yorum Yapın