1

我想使用两个条件在 div 内可见

Visible='<%# Eval("commenter_name").ToString() == username %> || username == admin'

它不工作。我只能使用一个条件。有什么办法可以解决这个问题吗?

4

2 回答 2

4

我假设 ASP.NET

尝试这个:

连接两个布尔结果,(就像您通常在 c# 中所做的那样)。

Visible='<%# 
          Eval("commenter_name").ToString() == Eval("username").ToString() 
          || 
          Eval("username").ToString() == "admin" 
         %>'

或者,如果您要验证的条件太多:

用函数替换它

Visible ='<%# VerifyConditions(Convert.ToInt32(Eval("Id"))) %>'

并在您的代码隐藏(.aspx.cs)页面中定义这样的验证条件:

public bool VerifyConditions(int Id)
{
   string username= GetCurrentUser();
   //obtain other variables, either through the bound row, or 
   //from the db based on the Id
    //all your logics..

    return  true; //or false based on evaluation;
}
于 2013-03-10T16:16:27.590 回答
0

您需要将表达式放在数据绑定表达式标签中。只要表达式产生布尔值,它就会起作用

Visible='<%# Eval("commenter_name").ToString() == Eval("username").ToString() || Eval("username").ToString() == "admin" %>'
于 2013-03-10T16:10:56.670 回答