私はASP.NETを何年も使用していますが、#と=を使用することが適切であるかどうかを思い出せません。
例えば:
<%= Grid.ClientID %>
また
<%# Eval("FullName")%>
誰かがそれぞれをいつ使用すべきかを説明して、私がそれを頭の中でまっすぐに保つことができるようにすることはできますか?#はデータバインディングをサポートするコントロールでのみ使用されますか?
私はASP.NETを何年も使用していますが、#と=を使用することが適切であるかどうかを思い出せません。
例えば:
<%= Grid.ClientID %>
また
<%# Eval("FullName")%>
誰かがそれぞれをいつ使用すべきかを説明して、私がそれを頭の中でまっすぐに保つことができるようにすることはできますか?#はデータバインディングをサポートするコントロールでのみ使用されますか?
いくつかの異なる「ハチ刺され」があります。
<%@
- ページ ディレクティブ<%$
- リソースへのアクセス<%=
- ページへの明示的な出力<%#
- データバインディング<%--
- サーバーサイドコメントブロックASP.Net 4 の新機能:
<%:
- ページに書き込みますが、HTML エンコードされていますASP.Net 4.5 の新機能:
<%#:
- HTML エンコードされたデータ バインディング<%= %> は、どこに配置しても Response.Write("") を実行するのと同じです。
<%# %> はデータ バインディング用であり、データ バインディングがサポートされている場合にのみ使用できます (コード ビハインドで Page.DataBind() を呼び出す場合は、コントロールの外側のページ レベルでこれらを使用できます)。
これは、Dan Crevier による素晴らしいブログ投稿で、違いを示すために彼が作成したテスト アプリを紹介しています。
本質的に: