1. ホーム
  2. asp.net

[解決済み】ASP.NETの "特殊な "タグ

2022-04-03 22:57:24

質問

このようなASP.NETのタグの正式名称は何ですか?

<%# %>
<%= %>
<%@ %>
<%$ %>

これらの概念的な名称やよく知られた名称がわからないようなので、詳細を検索するのに苦労しています。 また、quot;special tags"と呼ばれるタグが何をするものなのか、簡単に説明できる方はいらっしゃいませんか?

どのように解決するのですか?

正式名称は「"」です。 サーバーサイドスクリプティングデリミタ または「" ASP.NETインライン式 "です。Visual Studio 2008 のシンタックスハイライトの設定ダイアログでは、これらを "HTML Server-Side Script" と呼んでいます。Microsoftの人たちは、ブログでこれらを "code nuggets" と呼んでいます。

  • <%@ %> ASP.NET Web ページ用ディレクティブ . ページやコントロールで、ページ/コントロールのコンパイラの設定を行うために使用されます ( <%@ Control Inherits="MyParentControl" %> ).
    • <%@ %> はまた アプリケーションディレクティブ . global.asaxのアプリケーション固有の設定を指定するために使用します。異なるタグセットを使用するだけなので、ページディレクティブとは区別されます。
  • <% %> コードレンダリングブロック(インラインコード用) . の4つの形式のうちの1つです。 埋め込みコードブロック . サーバサイドのコードを Render() メソッド ( <% x = x + 1; %> ) を生成します。フォーマット: シングル/マルチラインまたはマルチリンク(例 if/then/else html を挟む) が、関数の宣言には使用できない。
  • <%= %> コードレンダリングブロック(インライン表現用) . の略語として使用されます。 <%Response.Write(value)%>
  • <%: %> (非公式にan " Htmlエンコードコードブロック ")は、前述と同じですが、出力はHTMLエンコードされています。
  • <%# %> データバインディング式 . を介した一方向(読み込みのみ)または双方向(更新可能)なバインディングに使用されます. Eval , Xpath , Bind または式(例:ドロップダウン・コントロールの選択値)。コントロールの属性マークアップを通じて、または、コントロールの属性マークアップを生成する別のタグとして、データバインドコントロールのプロパティに式をバインドします。 DataBoundLiteralControl インスタンスで、その Text プロパティを使用します。式が評価されるのは DataBinding イベントハンドラを使用します。
  • <%#: %> HTML エンコードされたデータバインディング式 (ASP.NET 4.5 の新機能)。の機能を兼ね備えています。 <%# %><%: %> .
  • <%$ %> ASP.NETエクスプレッションビルダー . サーバータグの属性を通じてコントロールのプロパティを実行時に式でバインドするために使用します。と共に使用します。 AppSettings , ConnectionStrings または Resources (または 独自の拡張機能 例えば、コードビハインドプロパティを使用する場合など)。これらの代入は OnInit() メソッドを生成します。
  • <%-- --%> サーバーサイドのコメント . コメントアウトされたコントロールがコードビハインドで参照された場合、エラーを発生させます)。htmlのコメントとは異なり、コンテンツは ではない 出力に含まれます。
  • <!-- #Include ... --> Server-Side Include ディレクティブ . ファイルの内容をページ、コントロール、またはグローバルファイルに挿入するために使用します。ユーザーコントロールが過剰で、マスターページが使用できない場合に有用。

また コード宣言ブロック で、最終的な埋め込みコードブロックの形になります。

<script runat="server">
bool IsTrue() {
  return false;
}
</script>

ASP.NETマークアップから生成されたクラスに、追加のメンバー(メソッドなど)を含めるために使用します。これらはこれまで 主に古いASP技術との後方互換性を維持するためです"。 であり、使用することは推奨されません。