Asp.Net(C#)内联编码Eval if语句

Chi*_*ito 13 c# asp.net

大家好;

如果控制如何使内联eval?

<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>
Run Code Online (Sandbox Code Playgroud)

edo*_*oft 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>
Run Code Online (Sandbox Code Playgroud)

  • `<pedant>`它是"三元"(有三个部分)`</ pedant>`而不是"三级"(第三顺序);),或正如Eric Lippert所指出的那样,只需使用"条件运算符":http ://blogs.msdn.com/ericlippert/archive/2010/02/18/whats-the-difference-between-ternary-and-tertiary.aspx (9认同)
  • 我可以编辑我的帖子并更正它但是你的评论不再有意义所以我会保留我的帖子完整的全世界看:) (6认同)