0

私はasp.netの初心者です。Site.MasterのSite.Master.csで作成されたいくつかのオブジェクトを使用したいと思います。それを行う簡単な方法はありますか?

私はMVCでそれを行う方法を知っています(view(オブジェクト)を使用して)。しかし、通常のASP .net Webアプリケーションでそれを行うにはどうすればよいですか?

4

3 に答える 3

2

ファイル内の@Pageディレクティブに、.aspxファイル内で宣言されたクラスがInherits="XYZ"どこにあるかが含まれている場合は、クラスにフィールドを追加して、それに値を割り当てることができます。名前を使用するだけで、ファイル内のファイルにアクセスできます。XYZ.csprotected.aspx

HttpContext.Itemsプロパティを使用して、単一のリクエスト中にオブジェクトを保持することもできます。

HttpContext.Current.Items["SavedItem"] = "hello world";

そしてそれをページで使用します:

<%= ((string)Context.Items["SavedItem"]) %>
于 2012-05-14T18:56:50.277 に答える
2

あなたが何をしたいのか正確にはわかりません。

タグのタイトルに文字列を挿入する場合は、SiteMaster.masterファイルに次のものを挿入できます。

<img src="<%= Page.ResolveUrl("~/") %>images/logo.png">

それ以外の:

<img src="images/logo.png">

最初のケースでは、アプリケーションのルートからのパスが計算されます。2番目のケースでは、相対リンクがあります。これは、サーバーがPage.ResolveUrl( "〜")関数の値を計算し、それをsrcタグに書き込むためです。

適切に定義した場合は、他のメソッドやクラスでも同じことができます。ただし、.aspxファイル(または.masterファイル)に複雑なロジックを実装することはお勧めしません。そのようなアプリケーションのテストとスタイリングで多くの困難に終わる可能性があるためです。

他のサーバータグがあります:

  1. <%%>-埋め込みコードブロックは、ページのレンダリングフェーズ中に実行されるサーバーコードです。ブロック内のコードは、プログラミングステートメントを実行し、現在のページクラスの関数を呼び出すことができます。説明と例
  2. <%=%>-単一の情報を表示するのに最も役立ちます。説明と例
  3. <%#%>-データバインディング式の構文。説明と例
  4. <%$%>-ASP.NET式。説明と例
  5. <%@%>-ディレクティブ構文。説明と例
  6. <%--%>-サーバー側のコメント。説明と例
  7. <%:%> like <%=%>-ただし、HtmlEncodesは出力をエンコードします(Asp.Net 4の新機能)。説明と例

別の方法: JSONを使用してデータをクライアントに送信し、JavaScriptで処理することができます。このプロジェクトを見てください。

于 2012-05-14T19:18:09.857 に答える
0

Site.Master.csのパブリックまたは保護されたプロパティまたはメソッドには、Site.Masterからアクセスできます。

しかし、aspxでc#コードを呼び出す方法は?

構築データバインディング構文など<%= %>いくつかの方法があります。

あなたが達成しようとしていることを説明するなら、それは助けになるでしょう。

于 2012-05-14T18:56:15.623 に答える