ASP.NET で、.aspx にコードをインライン化するさまざまな方法には何がありますか?
質問
これらや他のものについて「いつ使用するか」を知ることはできますか?
<% %>
<%# EVAL() %>
ありがとう
解決
をチェックしてください Web フォーム構文リファレンス MSDN で。
基本的には、
<% %> は純粋なコード ブロックに使用されます。通常、これは for if ステートメントのみに使用します
<div class="認証済み">
<div class="未認証">
- マークアップにテキストを追加するために使用されます。つまり、次と同等です
<div class='<%= IsLoggedIn ?「認証済み」:"未認証" %>>'>
<%# Expression %> は上記と非常に似ていますが、DataBinding シナリオで評価されます。これが意味することの 1 つは、これらの式を使用して runat="server" コントロールの値を設定できるということですが、これは <%= %> 構文では行うことができません。通常、これはデータバインドされたコントロールのテンプレート内で使用されますが、ページ内で使用して、Page.DataBind() (または Control.DataBind()) を呼び出してそのコードを評価させることもできます。
リンクされた記事で言及されている他のものはあまり一般的ではありませんが、確かに用途もあります。
他のヒント
も使用できます
<%= Class.Method() %>
そして、Ruby on Rails で行うのと同じように、結果を出力します。
追加したいのですが、resources 式もあります
<%$ Resources:resource, welcome%>
そして、asp.net はサテライト アセンブリ内の "welcome" のローカライズされたバージョンを自動的に検索します。
ASP.NET 4.0 では、 <%:%> HTML エンコードされたものを記述するための構文。
<%: "<script>alert('Hello XSS')</script>" %>
上記はbeloveの代わりに使用できます。
<%= Html.Encode("<script>alert('Hello XSS')</script>")%>
所属していません StackOverflow