この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 35979|答える: 2

[ASP.NET] ASP.NET ViewComponentの使い方に関するCore ViewComponentチュートリアル

[リンクをコピー]
2021年2月7日 16:18:25に投稿 | | | |
多数のページが同じビュー結果を呼び出す場合、同じコンテンツをビューコンポーネントにカプセル化できます。もちろん、ビューコンポーネントにパラメータを渡して応答結果を返すことも可能です。シナリオ:リーダーボード、フォーム、テーブルなど。この記事では、コア3.1 asp.net 用いてViewComponentビューコンポーネントチュートリアルの使い方を説明します。

コンポーネントを見る

Viewコンポーネントはローカルビューに似ていますが、より強力な機能を持っています。 ビューコンポーネントはモデルのバインディングを使用せず、モデルが呼び出された際に提供されるデータのみに依存しています。 この記事はコントローラーとビューを使って書かれましたが、ビューコンポーネントはRazor Pagesでも使えます。

コンポーネントを見る:

  • レスポンス全体ではなくブロックをレンダリングしてください。
  • コントローラーとビューの間で見られる懸念の分離とテストの可能性の利点を含みます。
  • パラメータやビジネスロジックを持つことができます。
  • 通常はレイアウトページから呼び出されます。


ビューコンポーネントは、ローカルビューには複雑すぎる再利用可能なレンダリングロジックがある場所ならどこでも使用できます。例えば:

  • 動的ナビゲーションメニュー
  • タグクラウド(データベースがクエリされる場所)
  • ログインパネル
  • ショッピングカート
  • 最近発表された記事
  • 典型的なブログのサイドバーコンテンツ
  • ログインパネルは各ページに表示され、ユーザーのログイン状況に応じてサインアウトまたはログインのリンクが表示されます


部分的な視点

asp.net mvcはRenderActionローカルビューを使って動的データを読み込みます
https://www.itsvse.com/thread-4828-1-1.html

MVC 5 asp.net では、以下のコードでローカルビューを使用できます:



コール方式:



ViewComponentはローカルビューの代替手段です。

ViewComponentを使って始めましょう

コンポーネントクラスを見る:

  • コンストラクタ依存注入は完全にサポートされています
  • コントローラーのライフサイクルには関与していないため、ビューコンポーネントでフィルターを使うことはできません
  • それでは、都市圏分類の構成要素機能をカプセル化する本題に入りましょう。


まず、プロジェクトディレクトリの下に新しい「ViewComponents」フォルダを作成し、以下のコードで新しい「RootClassification.cs」クラスファイルを作成します。



ビューページでは、プロジェクトの「/Views/Shared」フォルダの下に新しい「Components」フォルダを作成し、新しい「RootClassification」フォルダ(新しいコンポーネントクラスのオブジェクト)を作成し、さらに新しい「Default.cshtml」ファイルを作成します。コードは以下の通りです:



構成は以下の通りです。



詳細な経路は以下の通りです:/Views/Shared/Components/RootClassification/Default.cshtml

なぜそんな道を作るのか? これは asp.net コアコンポーネントの仕組みに関係しています。

ランタイムは以下の経路でビューを検索します:

/Views/{Controller Name}/Components/{View Component Name}/{View Name}
/Views/Shared/Components/{View Component Name}/{View Name}
/Pages/Shared/Components/{View Component Name}/{View Name}

ビューコンポーネントのデフォルトビュー名はDefaultであり、通常ビューファイル名はDefault.cshtmlになります。 ビューコンポーネントの結果を作成したり、ビューメソッドを呼び出す際には、異なるビュー名を指定することができます。

必要なコンポーネントを呼び出すと、コードは以下の通りです:



以下のレンダリングでプロジェクトを再実行します:

スコア

参加者数1MB+1 貢献する+1 倒れる 理由
祭典 + 1 + 1 オーナーが良い投稿をするのを応援してください。私も良い投稿をします!

すべての評価を見る





先の:EF Core Series (3) エンティティフレームシャドウ属性 [再版]
次に:ウェブサイトはスワイパープラグインを使って画像スライドショー(カルーセル)を実装しています。
2021年8月12日 10:21:01に投稿 |
コードを見たいと返信しますか?
 地主| 2023年8月13日 17:55:05に投稿 |
Coreの ASP.NET ビューコンポーネント
https://learn.microsoft.com/zh-c ... ews/view-components
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com