【问题标题】:Display another eval if previous eval is null如果前一个 eval 为空,则显示另一个 eval
【发布时间】:2013-10-18 17:36:43
【问题描述】:

我有一个字段,我想展示一些东西。我想显示与该行相关的任何值,if else 方法变得很长。我尝试过这样的事情:

<%#Eval("col1")??Eval("Col2")%>

没有用。然后我尝试了这个:

<%#Eval("col1").ToString() ?? Eval("Col2").ToString()%>

它也没有工作。我做错了什么还是不可能这样?

【问题讨论】:

    标签: asp.net null eval


    【解决方案1】:

    不要将其转换为字符串。你的第一行应该有效(为我工作):

    <%# Eval("Col1")??Eval("Col2") %>
    

    【讨论】:

      【解决方案2】:

      您可以使用公共方法完成此任务

      public string bindVal(object myval)
      {
      if (myval == null)
      {
       return "NA value";
      }
      
       return myVal.ToString();
      }
      

      标签代码:

      <asp:Label ID="lblmyvalue" Text='<%# testbind(Eval("myvalue1")) %>' runat="server"></asp:Label>
      

      或者你可以使用

      <%#(String.IsNullOrEmpty(Eval("myvalue1").ToString()) ? "NA" : Eval("myvalue1"))%>
      

      【讨论】:

      • 我知道,但路还很长。有没有更短的方法来收缩?
      • 我不认为有更短的方法来完成这项任务。我觉得这是完成它的首选方式
      猜你喜欢
      • 2013-05-17
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      相关资源
      最近更新 更多