在ascx文件中使用if条件

时间:2011-07-28 11:10:10

标签: asp.net if-statement ascx

嗨,我想在.ascx文件中使用if condition。如下图所示:

<%= if (value.equals("xyz")) {}  %>

如上所示,如果我这样使用。然后我收到“invalid expression if”的错误。

请指导我。

3 个答案:

答案 0 :(得分:16)

您应使用<%=(不使用<%符号)代替=

<% if (value.equals("xyz")) { } %>
如果要将表达式的结果直接输出到HTML,则使用

<%=

答案 1 :(得分:5)

这是因为表达式不会计算为可以包含在标记中的字符串,因此无法使用<%=表示法。您可以使用条件运算符:

<%= condition ? "value if true" : "value if false" %>

或者您可以使用以下表示法插入代码块:

<% if (value.equals("xyz")) { } %>

请注意,然后您需要在花括号中Response.Write所需的任何输出。这不是最佳实践 - 尽量避免使用标记中的逻辑。

答案 2 :(得分:0)

以上答案不能用于布尔属性,例如“Visible”。而是将此代码放在BindData()函数中。

if (condition) {
    this.pnlMyPanel.Visible = true;
} else {
    this.pnlMyPanel.Visible = false;
}

如果您不小心使用BindData(),请将其放在

下的Page_Load中
if (!this.IsPostBack) {}

块。