2010-04-09 67 views
13

大家好;Asp.Net(C#)內聯編碼Eval if語句

如何進行內聯評估,如果控制?

<asp:TemplateField HeaderText="Name"> 
       <ItemTemplate> 
        <%# if(Eval("Bla Bla Bla").ToString().Length <= 15){Eval("Bla Bla Bla")}else{Eval("Bla Bla Bla").ToString().Substring(0,15)}%> 
       </ItemTemplate> 
      </asp:TemplateField> 

回答

33

使用叔表達 '?':

<asp:TemplateField HeaderText="Name"> 
       <ItemTemplate> 
        <%# Eval("Bla Bla Bla").ToString().Length <= 15 ? Eval("Bla Bla Bla") : Eval("Bla Bla Bla").ToString().Substring(0,15) %> 
       </ItemTemplate> 
      </asp:TemplateField> 
+9

''它的 「三元」(具有三個部分)''而不是 「叔」(第三次序);),或者像Eric Lippert指出的那樣,只需與「有條件的運營商」聯繫即可:http://blogs.msdn.com/ericlippert/archive/2010/02/18/whats-the-difference-between-ternary-and-terrtiary。 aspx – 2010-04-09 11:29:02

+6

我可以編輯我的文章並更正它,但是你的評論不再有意義了,所以我會讓我的帖子完好無損地讓所有人看到:) – edosoft 2010-04-09 11:51:30

+0

感謝呦你很多...代碼工作... – Chicharito 2010-04-09 12:09:39