看到别人这样写,不知道什么意思
<%# (bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"显示":"隐藏" %>
<%# (bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"[已隐藏]":"" %>当点击LinkButton连接“显示”后,LinkButton的连接文本变为“隐藏”,是否有人可以来个这样的例子。=======================================================================
<asp:TemplateColumn SortExpression="n_title" HeaderText="新闻标题">
<ItemTemplate><asp:Label id="lblNewsStatus" runat="server" Text='<%# (bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"[已隐藏]":"" %>' ForeColor="Gray"></asp:Label>

</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="管理操作"><asp:LinkButton id="lbnHide" runat="server" CssClass="darkblue" CommandName="Hide" CommandArgument='<%# DataBinder.Eval(Container, "DataItem.n_id") %>' Text='<%# (bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"显示":"隐藏" %>' CausesValidation="false">
</asp:LinkButton></ItemTemplate>

解决方案 »

  1.   

    datagrdi其中一列的字段名为"管理操作"
    "显示""隐藏"
      

  2.   

    <%# (bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"显示":"隐藏" %>
     
    当 n_hidden 字段 的值为  true 时 ,它显示的值为 '显示' 为 false 时 显示的值为 隐藏<%# (bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"[已隐藏]":"" %>和上边类似....
    当 n_hidden 字段 的值为  true 时 ,它显示的值为 '[已隐藏]' 为 false 时 显示的值为"" 也就是什么也不显示....
      

  3.   

    <%# (bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"显示":"隐藏" %>
     
    当 n_hidden 字段 的值为  true 时 ,它显示的值为 '显示' 为 false 时 显示的值为 隐藏<%# (bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"[已隐藏]":"" %>和上边类似....
    当 n_hidden 字段 的值为  true 时 ,它显示的值为 '[已隐藏]' 为 false 时 显示的值为"" 也就是什么也不显示....
      

  4.   

    <%# (bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"显示":"隐藏" %>
    是判断语句呀(bool)DataBinder.Eval(Container, "DataItem.n_hidden")
    是判断条件"显示"
    条件成立时"隐藏"
    条件不成立时
      

  5.   

    logical-or-expression ? expression : conditional-expression The first operand is implicitly converted to bool. It is evaluated and all side effects are completed before continuing. 
    If the first operand evaluates to true (1), the second operand is evaluated. 
    If the first operand evaluates to false (0), the third operand is evaluated. 
      

  6.   

    >>(bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"显示":"隐藏"相当于 
    在 ItemDataBind事件中,假定已经找到 lblNewsStatus 对象的引用:
    if( e.DataItem.n_hidden == true )
    {
        lblNewsStatus.Text = "[已隐藏]";
    }
    else
    {
        lblNewsStatus.Text = "";
    }其他的类似。
      

  7.   

    条件运算符 (?:) 根据布尔型表达式值返回两个值中的一个。条件运算符用于下列形式的表达式中:
    cond-expr ? expr1 : expr2
    其中: 
    cond-expr 
    bool 类型的表达式。 
    expr1 
    一个表达式。 
    expr2 
    一个表达式。 
    备注
    如果 cond-expr 为 true,则计算 expr1 并作为结果;如果 cond-expr 为 false,则计算 expr2 并作为结果。只能计算 expr1 和 expr2 之中的一个。
    使用条件运算符,可以更简洁、雅观地表达那些否则可能要求 if-else 结构的计算。例如,为在 sinc 函数的计算中避免被零除,可编写为
    if(x != 0.0) s = Math.Sin(x)/x; else s = 1.0;
    或使用条件运算符,
    s = x != 0.0 ? Math.Sin(x)/x : 1.0;
    条件运算符为右联运算符,因此该形式的表达式
    a ? b : c ? d : e
    按如下规则计算:
    a ? b : (c ? d : e)
    而不是按照下面这样计算:
    (a ? b : c) ? d : e
    不能重载条件运算符。
    示例
    // cs_operator_conditional.cs
    using System;
    class Test 
    {
       public static double sinc(double x) 
       {
          return x != 0.0 ? Math.Sin(x)/x : 1.0;
       }   public static void Main() 
       {
          Console.WriteLine(sinc(0.2));
          Console.WriteLine(sinc(0.1));
          Console.WriteLine(sinc(0.0));
       }
    }
    输出
    0.993346653975306
    0.998334166468282
    1
      

  8.   

    --------》我是楼主运行后提示 bool 未声明<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1_test.WebForm1"%><HTML>

    <body>
    <form id="Form1" method="post" runat="server">
    <asp:datagrid id="DataGrid1" runat="server">
    <Columns>
    <asp:TemplateColumn SortExpression="n_title" HeaderText="新闻标题">
    <ItemTemplate>
    <asp:Label id="Label2" runat="server" Text='<%# (bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"[已隐藏]":"" %>' ForeColor="Gray">
    </asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid>
    </form>

    </body>
    </HTML>
      

  9.   

    vb中不应该那样写,要用Ctype()
      

  10.   


    <asp:Label id="Label2" runat="server" Text='<%# (bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"[已隐藏]":"" %>' ForeColor="Gray">
    </asp:Label>
    改为
    <asp:Label ID="Label2" Runat="Server" Text='<%# CType(DataBinder.Eval(Container.DataItem,"n_hidden")?"[已隐藏]":""%>' ForeColor="Gray")
      

  11.   

    错了:
    Text='<%# CType(DataBinder.Eval(Container.DataItem,"n_hidden"),Boolean)?"[已隐藏]":""%>'
      

  12.   

    我正在郁闷为啥会出错呢。十分感谢 renyu732(在学.net中...)  的热心
      

  13.   


    奇怪,还是服务器标记的格式不正确。分析器错误 
    说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 分析器错误信息: 服务器标记的格式不正确。源错误: 
    行 16: <asp:TemplateColumn SortExpression="n_title" HeaderText="新闻标题">
    行 17:  <ItemTemplate>
    行 18:  <asp:Label ID="Label2" Runat="Server" Text='<%# CType(DataBinder.Eval(Container.DataItem,"n_hidden"),Boolean)?"[已隐藏]":""%>')
    行 19:  </asp:Label>
    行 20:  </ItemTemplate>
     
      

  14.   

    我知道了,但是,我一时想不起来哪个应该在vb里怎么写.
    反正vb里不能?:这样写的.
      

  15.   

    你先看一下:ms-help://MS.NETFrameworkSDKv1.1.CHS/vblr7net/html/vaoprXor.htm
      

  16.   

    你这样写试试:
    <asp:Label ID="Label2" Runat="Server" Text='<%# CType(DataBinder.Eval(Container.DataItem,"n_hidden"),Boolean)="[已隐藏]" Xor ""%>'></asp:Label>
      

  17.   

    <asp:Label ID="Label2" Runat="Server" Text='<%# CType(DataBinder.Eval(Container.DataItem,"n_hidden"),Boolean)="[已隐藏]" Xor ""%>'></asp:Label>又提示输入字符串的格式不正确。 
    ms-help://MS.NETFrameworkSDKv1.1.CHS/vblr7net/html/vaoprXor.htm我看了,也没有这种写法啊,急死人了。
      

  18.   

    楼主用VB,就不能用 a:b?c 这样的语句啦
      

  19.   

    vb使用 iif 或者 switch 函数。你查一下文档。
      

  20.   

    vb里是没有三目操作符的,对于vb
    <asp:Label ID="Label2" Runat="Server" Text='<%# CType(DataBinder.Eval(Container.DataItem,"n_hidden"),Boolean)="[已隐藏]" Xor ""%>'></asp:Label>
    ----------
    应该改为
    <asp:Label ID="Label2" Runat="Server" Text='<%# IIf(Container.DataItem("n_hidden"),"[已隐藏]","")%>'></asp:Label>
      

  21.   

    是谁说vb没有呀
    iif(ex,true,false)