ASP.Net有条件的数据绑定 [英] ASP.Net conditional databinding

查看:94
本文介绍了ASP.Net有条件的数据绑定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

<% } else { %>
...                                        

<% } %>

给我一个InvalidOperationException异常?我怎样写有条件的HTML代ASP?

Gives me a InvalidOperationException? How do I write conditional html generation in ASP?

推荐答案

使用内联语句John_状态,或者,在你的code创建一个函数后面执行所需的逻辑。

Use an inline statement as John_ states, or, create a function in your code behind that performs the logic required.

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

然后用这个如下:

Then use this as follows

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

编辑:我刚刚读你想显示根据这个结果不同的HTML指出另一篇评论。在这种情况下,您可以尝试使用包含您的code占位符的可见标志。如:

I've just read a comment on another post that states you want to show different HTML depending on this result. In that case, you can try using the Visible flag of a placeholder containing your code. Such as:

<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>

这篇关于ASP.Net有条件的数据绑定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆