asp.net MVC パーシャルビューコントローラ アクション
2023-08-03 21:13:15
質問
私はWebアプリ開発の超初心者で、最近の技術から始めようと思い、asp.netとMVCフレームワークを一度に学ぼうとしているところです。これはおそらく、MVCの専門家であるあなたにとって非常に単純な質問です。
私の質問は、部分ビューは関連するアクションを持つべきで、もしそうなら、このアクションは、通常のページが
RenderPartial()
を使用するたびに、このアクションが呼び出されるのでしょうか?
どのように解決するのですか?
部分ビューを返すアクションを持つことはできますが、部分ビューをレンダリングするアクションは必要ではありません。 RenderPartialは部分ビューを受け取り、与えられたモデルとビューデータを使用して、現在の(親)ビューにレンダリングします。
ページの一部をロード/リロードするためにAJAXを使用している場合、部分的なビューを返すアクションが必要かもしれません。 その場合、ページの一部だけを再読み込みしたいので、完全なビューを返すことは望ましくありません。 この場合、アクションにページのそのセクションに対応する部分的なビューを返させることができます。
標準的なメカニズム
通常のビューの中で部分ビューを利用する(アクション不要)
...some html...
<% Html.RenderPartial( "Partial", Model.PartialModel ); %>
...more html..
Ajaxメカニズム
AJAXでページの一部を再読み込みする(最初のページロードで部分的にインラインでレンダリングされることに注意)。
...some html...
<div id="partial">
<% Html.RenderPartial( "Partial", Model.PartialModel ); %>
</div>
...more html...
<script type="text/javascript">
$(function() {
$('#someButton').click( function() {
$.ajax({
url: '/controller/action',
data: ...some data for action...,
dataType: 'html',
success: function(data) {
$('#partial').html(data);
},
...
});
});
});
</script>
AJAX用コントローラ
public ActionResult Action(...)
{
var model = ...
...
if (Request.IsAjaxRequest())
{
return PartialView( "Partial", model.PartialModel );
}
else
{
return View( model );
}
}
関連
-
[解決済み] ファイルアップロード ASP.NET MVC 3.0
-
[解決済み] ASP.NET MVCでビューをコンパイルする
-
[解決済み] ASP.Net MVCのmodelStateからすべてのエラーを取得する方法は?
-
[解決済み] ASP.NET MVCのビューを文字列としてレンダリングする方法は?
-
[解決済み] ASP.NET MVCコントローラは、Imageを返すことができますか?
-
[解決済み] JSONまたは部分的なhtmlを返すASP.NET MVCコントローラのアクション
-
[解決済み】ASP.NET MVCでファイルを表示/ダウンロードに戻す場合
-
[解決済み】MVC 4 @Scripts "does not exist".
-
[解決済み】ASP.NET MVC 3 - 部分テンプレートと表示テンプレートと編集テンプレート
-
[解決済み] Visual Studio 2012 または Visual Studio 2013 で古い MVC プロジェクトを開くにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Automapperにタイプマップの設定がない、またはマッピングがサポートされていない - エラー
-
[解決済み】VS 2015でコントローラからビューを追加できない : "選択されたコードジェネレータの実行にエラーが発生しました"
-
[解決済み] Razor View Engine : 式ツリーには、動的な操作を含めることができません。
-
[解決済み] Kendo UI MVC用パスワードテキストボックス
-
[解決済み] ASP.Net MVCのmodelStateからすべてのエラーを取得する方法は?
-
[解決済み] ASP.NET MVCでHTML-5のdata-*属性でダッシュを使用する方法
-
[解決済み】Html5 data-* with asp.net mvc TextboxFor html attributes
-
[解決済み】cshtmlテンプレートで関数を作成する方法は?
-
[解決済み] エリア間のRedirectToAction?
-
[解決済み] ASP.NET MVC 1でHttpContextBaseからHttpContextオブジェクトを取得するにはどうすればよいですか?