C# - Asp.Net ile kodlanmış bir projede veri tabanından çekilen dinamik içerik kimi zaman duruma göre değiştirilebilir. Bunun için yazdığınız öğe istek satırına bir if-else komutu koymalısınız:
<%# Eval("content").ToString()%>
Bu satır dinamik data grubunun içinde olacağından, eğer bir "repeater" dahilindeyse şöyle gözükebilir:
<ul><asp:Repeater ID="rptItems" runat="server"><ItemTemplate><li><span class="content"><%# Eval("content").ToString()%></span></li></ItemTemplate></asp:Repeater></ul>
Bu Eval öğesine şöyle bir if-else komutu yazmak sıkıntı yaratacaktır.
string content = "";if(Eval("content").ToString().Length <= 100){content = Eval("content").ToString();}else{content = Eval("content").ToString().Substring(0,100);}
Bunun anlamı "content"ten gelen içerik 100 karakteri aşıyorsa sadece ilk 100 haneyi göster demektir. Bu if-else ifadesini yukarıdaki "repeater" dahiline de şu şekilde yerleştiriyoruz:
<ul><asp:Repeater ID="rptItems" runat="server"><ItemTemplate><li><span class="content"><%# Eval("content").ToString().Length <= 100 ? Eval("content") : Eval("content").ToString().Substring(0,100) %></span></li></ItemTemplate></asp:Repeater></ul>
Görüldüğü üzere if-else sadece "?" ve ":" ile sağlanmıştır.
<%# Eval("content").ToString().Length <= 100 ? Eval("content") : Eval("content").ToString().Substring(0,100) %>