Asp.Net (C#) de inline olarak (satıriçi) if else komutu şeklinde “Eval” yerleştirmek

http://www.bilgisayamiyorum.com/question/183.aspx‘dan alıntıdır

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) %>

Previous post inline if
Next post asp.net’de query sayısı