2

ASP.NET インライン スクリプトの高度な基本的なことを学びたい

<img src="<%= Page.ResolveUrl("~")%>Images/Logo.gif"/>

また

<asp:Label ID="lblDesc" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"Description")%>'></asp:Label>

等々...

そして、<% %> と <%# %> などの違いは何ですか?

これらの使用法の基本的な実装から高度な実装まで、どこで見つけることができますか?

4

2 に答える 2

10

さまざまなインライン タグ オプションの詳細については、この記事を参照してください。

記事から:

<% ... %> -- 最も基本的なインライン タグで、基本的に通常のコードを実行します。

<%= ... %> -- 情報の小さなチャンクに使用されます。通常は、オブジェクトや、単一の文字列や int 変数などの単一の情報から取得されます。

<%# ... %> -- バインディング式に使用。Eval や Bind など、GridView、Repeater などのデータ コントロールで最も頻繁に使用されます。

<%$ ... %> -- コードではなく式に使用されます。多くの場合、DataSources で見られます:

<%@ ... %> -- これはディレクティブ構文用です。基本的に、コントロールの登録やページの宣言など、aspx ページの上部に表示されるもの:

<%-- ... %> -- これはサーバー側のコメントで、コードにアクセスできない人には見られたくないものです:

于 2009-08-02T02:38:31.970 に答える
2

一般に、<%#..%>データ バインディングなどのテンプレートの前処理に使用されます。これにより、オブジェクトのプロパティの名前はコンパイル時に認識されません。たとえば、ASP.NET Repeater オブジェクトがあり、それにオブジェクトのリストをデータ バインドする場合、この表記法を使用して、データ バインドのライフサイクル以外の時点で設定できなかった値を事前設定します。

その他の表記法<%..%>および<%=..%>はより標準的であり、特に ASP.NET Web フォームの代わりに ASP.NET MVC などを使用する場合は、前述の他の構文よりもはるかに頻繁に使用されます。この構文<%..%>は任意のスクリプトをインラインで実行するだけで、if ステートメント、while ループ、for ループなどの .NET コードのブロック全体を記述できます。この構文<%=..%>は評価と書き込みの構文であり、ほぼ同等です。の<% Response.Write([..].ToString()) %>。すなわち、<%= myVal %>と同じです<% Response.Write(myVal.ToString()) %>

これらの構文は、基本的な ASP.NET の知識です。

于 2009-08-02T02:50:29.300 に答える