我如何在div中使用两个条件作为可见属性

时间:2013-03-10 16:07:49

标签: asp.net eval webforms

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

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

它不起作用。我只能使用一个条件。有没有办法绕过这个?

2 个答案:

答案 0 :(得分:3)

我假设ASP.NET

试试这个:

连接两个布尔结果(正如你通常在c#中所做的那样)。

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

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

将其替换为函数

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

并在您的codebehind(.aspx.cs)页面中定义这样的VerifyConditions:

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

答案 1 :(得分:0)

您需要将表达式放在数据绑定表达式标记中。只要表达式导致bool

,它就会起作用
Visible='<%# Eval("commenter_name").ToString() == Eval("username").ToString() || Eval("username").ToString() == "admin" %>'