ASP.NET Sadece İstenilen Alanı Yenileme AJAX
ASP.NET’te butonlara basıldığında sayfa otomatik refresh işlemi yapmaktadır. Bunu önlemek için ajax kullanacağız. Öncelikle sayfamıza deneme yapmak için bir adet textbox ve bir buton ekliyoruz.
Daha sonra ToolBox kısmındaki AJAX menüsüne geliyoruz. Menüde bulunan Script Manageri tutup sayfamızın üzerine sürüklüyoruz.
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Button" />
Bu işlemi tamamladıktan sonra yine AJAX menüsünden bir adet Update Panel Ekliyoruz. Panelin başlangıç ve bitişi, hangi alanı yenilemek istiyorsak onu kapsayacak şekilde olmalıdır.
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Button" /> </asp:UpdatePanel>
Son adım olarakta Update Panelle sınırladığımız alanın içine ContentTemplate taglarımızı da ekliyoruz.
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Button" /> </ContentTemplate> </asp:UpdatePanel>
Artık butona bastığımızda bütün sayfa yerine sadece o alan yenilenmiş olacak.
Önemli Noktalar: Script Manager Update Panelden önce olmalıdır yoksa hata verir. ContentTemplate update panelden sonra gelmelidir.