08 December 2016

ASP.Net Repeater

Notlarıma göz attığımda daha önce Repeater nesnesine hiç yer vermediğimi farkettim. Repeater ASP.Net’te en yaygın kullanılan veri listeleme kontrollerindendir.

Repeater’in kendi içinde Template’leri vardır.

Repeater Templateleri

Item Template: Veritabanından çektiğimiz kayıtları nasıl görüntüleyeceğimizi bu tagler arasında belirtiyoruz.
Header Template: Repeater’a başlık yapar. En üstte sadece bir kere görünür.
Footer Template: Repeater’a bir footer oluşturur sadece en altta bir kere görünür.
Separator Template: Veritabanından dönen kayıtları birbirinden ayırt etmek için kullanılır. Örneğin (“hr”) gibi
Alternating Template: Veritabanından dönen ardarda olan satırların farklı şekillerde görünmesini istiyorsak, bu tag arasınada o tasarımı yapabiliriz.

<asp:Repeater>
<ItemTemplate>ITemplate</ItemTemplate>
</asp:Repeater>

Örnek:

Sayfamızı veritabanına bağlayalım. Kod kısmına yazalım:

protected void Page_Load(object sender, EventArgs e)
 {
 //Eğer her sayfaya connectionstring'i bu şekilde yazarsak değişiklik yapmak istediğimizde bütün sayfalara gidip değişikliği yapmamız gerekir ve sayfada hata meydana gelirse yazmış olduğumuz kullanıcı adı ve parola açığa çıkar
 //SqlConnection sqlcon = new SqlConnection("server=.;database=northwind;trusted_connection=true");
 //trusted_connection=true (windows authentication)
 //user ID=mehmet;password=123 (sql server authentication)
 SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["NorthwindConn"].ConnectionString);//yazmış olduğumuz sorguları veritabanına iletmek
 SqlCommand sqlcmd = new SqlCommand("select * from categories", sqlcon);
 sqlcon.Open();
 SqlDataReader sdr = sqlcmd.ExecuteReader();
 rptCategories.DataSource = sdr;
 rptCategories.DataBind();
 sqlcon.Close();
 }

Html kısmına yazalım:

<asp:Repeater ID="rptCategories" runat="server"
 onitemcommand="rptCategories_ItemCommand" >
 <ItemTemplate>
 <table>
 <tr>
 <td width="10px">
 »
 </td>
 <td>
 <asp:LinkButton ID="lbCategoryName" runat="server" Text='<%#Eval("CategoryName") %>' CommandArgument='<%#Eval("CategoryID") %>'></asp:LinkButton>
 </td>
 </tr>
 <tr>
 <td>
 </td>
 <td>
 <asp:Label ID="lblDescription" runat="server" Text='<%#Eval("Description") %>'></asp:Label>
 </td>
 </tr>
 </table>
 </ItemTemplate>
 </asp:Repeater>

Trackbacks

  1. […] Kaynağı Kontrollerinden biri olan Repeater kontrolünü önceki notlarımızda inceledik. Burada bir başka veri kaynağı kontrolü olan […]