それは別のマークアップタグは、ASP.NETテンプレートマークアップの処理中に何を意味するかを理解する価値がある:あなたができる
<% expression %> - evaluates an expression in the underlying page language
<%= expression %> - short-hand for Response.Write() - expression is converted to a string and emitted
<%# expression %> - a databinding expression that allows markup to access the current value of a bound control
だから三式の値(条件演算子を誤る)を放出するためのいずれかの使用:
<%= (condition) ? if-true : if-false %>
か、WRITELできる
<% Response.Write((condition) ? if-true : if-false) %>
あなたが(例えば、リピータのような)データ・バインドコントロールを使用していた場合、あなたはその結果を評価し、放出するためにデータバインディング形式を使用することができます。
<asp:Repeater runat='server' otherattributes='...'>
<ItemTemplate>
<div class='<%# Container.DataItem(condition ? if-true : if-false) %>'> content </div>
</ItemTemplate>
</asp:Repeater>
<%の#%の>マークアップ拡張機能の興味深い側面は、ということです他の2つのフォーム(<%と<%=)は、タグの内容の中で使用することができます(特別なケースを除いていくつかの例外があります)。上の例はこれを示しています。
将来的には、これはしばしば「3値のif演算子」と呼ばれます。 –
@ Greg:実際には条件演算子と呼ばれています。 http://msdn.microsoft.com/en-us/library/ty67wk28.aspx – LukeH
@ルークグレッグへの公平性において、私はそれが条件付きのものよりも三項演算子として参照されるのを見てきました。条件文は、通常、if文について言及するときに参照されます。 – James