我想运行if语句,但条件使用了后面代码中的变量。我怎么称呼这个变量?旁注。。。我使用的是gridview,变量在一个数据集中(dsResult-idnbr colum)

<ItemTemplate>
   <% string temp = (Eval("idnbr").ToString());
   if (temp.Contains("X")) { %>
       <asp:Label ID="Label1" runat="server" Text='<%# (Eval("old_amt").ToString(),"ccTot") %>'></asp:Label>
   <% } else { %>
       <asp:Label ID="Label2" runat="server" Text='<%# (Eval("new_amt").ToString(),"ccTot") %>'></asp:Label>
   <% } %>
</ItemTemplate>

最佳答案

创建为您执行此操作的c端方法:
使用以下两种方法之一:
如果您处理的是众所周知的实体(即当GridView绑定到ObjectDatasource时),那么
只需将其投射到实体并传回:
C#:

 protected String MySelectorImpl(Object rowData)
 {
     MyEntity ent = (MyEntity)rowData;
     if(ent.idndr .... )
        return ....
     else
        return ...
 }

ASP.Net:
<ItemTemplate>
    <asp:Label Text='<%# MySelector(Container.DatatItem) %>' ...

第二种情况-只使用eval语法
C#:
protected string MySelector(Object condition, Object value1, Object value2)
{
    if((String)condition ....) return value1.ToString ....
}

ASP.Net:
<ItemTemplate>
    <asp:Label Text='<%# MySelector(Container.DatatItem("idnbr", ... %>' ...

(,

关于c# - 如何在aspx中运行if语句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3943602/

10-09 06:25