2011-07-28 44 views
6

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

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

如上所示,如果我使用那樣。那麼我得到「invalid expression if」的錯誤。

請指導我。當你要輸出表達式直接到HTML的結果

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

<%=用於:

回答

15

相反的<%=你應該使用<%(不=符號)。

5

這是因爲表達式不計算爲可以包含在標記中的字符串,所以不能使用<%=表示法。您可以使用條件運算符做到這一點:

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

或者你可以使用這個符號插入一個代碼塊:

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

要知道,你則需要Response.Write捲曲在你想要的任何輸出括號。這不是最佳實踐 - 儘量避免標記中的邏輯。

0

以上答案不能用於布爾屬性,例如「Visible」。而是將此代碼放入BindData()函數中。

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

如果不tipically使用BindData(),把它在Page_Load中下

if (!this.IsPostBack) {} 

塊。