【发布时间】:2014-05-15 22:26:20
【问题描述】:
我不确定在 .NET 2.0 之后情况是否发生了变化,因为在 .NET 2.0 中我曾经能够设置如下内容:
<asp:Panel runat="server" Visible='<%#IIf(Some condition here, "true", "false") %>' />
我一直这样做是为了有一个干净的代码。
目前我正在使用 .NET 3.0,但我这辈子都无法正常工作。我正在评估的条件不是访问任何数据绑定字段,而是像在后面的代码中检查对象的属性一样简单。 谁能建议这个内联代码的外观?
更新:
这是我正在尝试做的一个例子。我发誓这样的东西曾经在 .NET 2.0 中工作,但现在不能工作:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script runat="server">
protected bool IsValid() { return true; }
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label Text="123" runat="server" Visible=<%#iif(IsValid(), "true", "false")%>/>
</div>
</form>
</body>
</html>
【问题讨论】:
-
显示您的
IIF。如果您的目标是 3.5,则可以使用 IF-operator,它使用短路评估。 -
也许可以显示更多代码以使您的问题更清楚。
-
什么告诉你它不起作用?
-
@Bala:你知道 C# 中的
IIF吗? -
@TimSchmelter OP 没有提到 vb/c#。也许他以前使用 vb.net,现在他使用 c#,因此它不起作用?
标签: asp.net code-behind