看到别人这样写,不知道什么意思
<%# (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>
<%# (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>
解决方案 »
- 关于DSO framer打开文件出错,打不开文件(答案滿意的話再加100分)
- ? 哥哥姐姐们c# treeview 中单击结点使其结点图片改变就像CSDN上左边的树一样 [.NET就是这个网页的效果http://community.csdn.net/
- asp.net中利用vsreport打印报表?
- js高手,想挑战的进~~~~~
- 工程启动不了了是什么原因,有解图
- 判断表单的问题。
- 如何绑定各个textbox的text属性
- DataSet保存数据长度限制的问题
- DataGrid的分页显示如何用啊?
- 超连的问题。帮我看看.....
- 怎么使datagrid显示的字段是竖着排列(也就是在一列)?
- 高分求用asp.net,C#编的网上考试系统!
"显示""隐藏"
当 n_hidden 字段 的值为 true 时 ,它显示的值为 '显示' 为 false 时 显示的值为 隐藏<%# (bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"[已隐藏]":"" %>和上边类似....
当 n_hidden 字段 的值为 true 时 ,它显示的值为 '[已隐藏]' 为 false 时 显示的值为"" 也就是什么也不显示....
当 n_hidden 字段 的值为 true 时 ,它显示的值为 '显示' 为 false 时 显示的值为 隐藏<%# (bool)DataBinder.Eval(Container, "DataItem.n_hidden")?"[已隐藏]":"" %>和上边类似....
当 n_hidden 字段 的值为 true 时 ,它显示的值为 '[已隐藏]' 为 false 时 显示的值为"" 也就是什么也不显示....
是判断语句呀(bool)DataBinder.Eval(Container, "DataItem.n_hidden")
是判断条件"显示"
条件成立时"隐藏"
条件不成立时
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.
在 ItemDataBind事件中,假定已经找到 lblNewsStatus 对象的引用:
if( e.DataItem.n_hidden == true )
{
lblNewsStatus.Text = "[已隐藏]";
}
else
{
lblNewsStatus.Text = "";
}其他的类似。
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
<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>
<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")
Text='<%# CType(DataBinder.Eval(Container.DataItem,"n_hidden"),Boolean)?"[已隐藏]":""%>'
奇怪,还是服务器标记的格式不正确。分析器错误
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 分析器错误信息: 服务器标记的格式不正确。源错误:
行 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>
反正vb里不能?:这样写的.
<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我看了,也没有这种写法啊,急死人了。
<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>
iif(ex,true,false)