我想运行 if 语句,但条件使用后面代码中的变量。我如何调用该变量? 旁注...我正在使用 gridview 并且变量位于数据集中(dsResult - idnbr 列)
<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 绑定(bind)到 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/