c# - 如何在 aspx 中运行 if 语句?

标签 c# .net asp.net html gridview

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

相关文章:

c# - FirstOrDefault 内联空检查

c# - 在插入期间增加一个 int

c# - 在哪里搜索 Microsoft.TeamFoundation.Framework.Client

c# - .NET 如何检查 Windows 进程是否作为 "App"或 "Background application"运行

c# - 将 IAsyncResult 模式转换为任务

c# - 使用 Unity 作为 AOP 框架时缺少完整的堆栈跟踪

.net - 为什么 Enumerable.ToLookup<>() 返回 ILookup<,> 而不是 Lookup<,>?

asp.net - 下拉列表 asp mvc

c# - 未创建付款

c# - 在 ASP.NET 中第一次单击时按钮 OnClick 没有触发?