我想使用两个条件在 div 内可见
Visible='<%# Eval("commenter_name").ToString() == username %> || username == admin'
它不工作。我只能使用一个条件。有什么办法可以解决这个问题吗?
我假设 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;
}
您需要将表达式放在数据绑定表达式标签中。只要表达式产生布尔值,它就会起作用
Visible='<%# Eval("commenter_name").ToString() == Eval("username").ToString() || Eval("username").ToString() == "admin" %>'