BİLGİ SAYAMIYORUM beta

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

0

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

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER