我想运行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/