c# - ASP.Net 条件数据绑定(bind)

标签 c# asp.net

<% if(Convert.ToInt32(Eval("NbrOrders"))>=Config.MAX_ENQUIRY_SALES) {  %>
...  

<% } else { %>
...                                        

<% } %>

给我一​​个 InvalidOperationException?如何在 ASP 中编写条件 html 生成?

最佳答案

如 John_ 所述,使用内联语句,或者在您的代码后面创建一个函数来执行所需的逻辑。

protected string MyFunction(int nbrOrders)
{
    if(nbrOrders>=Config.MAX_ENQUIRY_SALES)
    {
        return "TrueResult";
    }
    else
    {
        return "FalseResult";
    }
}

然后按如下方式使用它

<%# MyFunction(Convert.ToInt32(Eval("NbrOrders"))) %>

编辑:我刚刚阅读了另一篇文章的评论,其中指出您希望根据此结果显示不同的 HTML。在这种情况下,您可以尝试使用包含您的代码的占位符的可见标志。如:

<asp:PlaceHolder id="PlaceHolder1" runat="server" visible='<%# (Convert.ToInt32(Eval("NbrOrders"))>=Config.MAX_ENQUIRY_SALES)%>'>
    <div>My True Html Here</div>
</asp:PlaceHolder>
<asp:PlaceHolder id="PlaceHolder2" runat="server" visible='<%# !(Convert.ToInt32(Eval("NbrOrders"))>=Config.MAX_ENQUIRY_SALES)%>'>
    <div>My FalseHtml Here</div>
</asp:PlaceHolder>

关于c# - ASP.Net 条件数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/653486/

相关文章:

c# - 覆盖现有的 XML 文件(如果它已经存在)

c# - 在运行时更改应用程序设置

c# - 使用 IDataErrorInfo 或任何类似的模式来传播错误消息

html - 如何对齐 "top right"中的文本?

asp.net - bin 和 gac 中都有 Dll,使用哪一个?

c# - 使用 TypeConverter 作为字典键,但不使用相同类型的字典值?

c# - 如何在 C# 中比较 2 个 DateTime

c# - 将 CheckBox 列添加到具有持久性的 GridView

c# - 向 wcf 服务 : The remote certificate is invalid according to the validation procedure 发出 https 请求

Asp.Net Core 1.1 在 key 环中找不到 key