ASP.NET MVC 3で「カスタムコントロール」を作成するにはどうすればよいですか?部分的なビューについて赤字です、ViewUsersControl
、Html.RenderAction
、しかし私はまだわかりません、どちらの方法がかみそりのビューのための適切なMVCの方法です。
表示するためにいくつかのajaxコンポーネントをレンダリングする必要がある場合、部分ビューでそれを行うことを想像できますが、カスタムロジックでセクションをレンダリングしたい場合はどうなりますか?
1) PartialViews
2) カスタムHTMLヘルパー
3)子供の行動
ASP.NET Coreの更新:
2) タグヘルパー カスタムHtmlヘルパーよりも優先される方法
3) コンポーネントの表示 子アクションの代わりに使用されます
あなたは使用することができます
@{Html.RenderPartial("YourCustomView",YourModel);}
たとえば、Shared
フォルダに新しいView
を作成し、"_MyCustomControl"
という名前を付けます。
次に、コードに次のように記述します。
@model YourNameSpace.Models.YourModel
@{
Layout = null;
}
@*Here write your control's markup*@
次に、この"control"
を使用するビューに次を追加します。
@{Html.RenderPartial("_MyCustomControl",new YourModel { args });}
RenderPartial
これをチェックしてください で問題が発生した場合
この投稿に対する他のすべての回答に加えて、EditorForおよびDisplayForテンプレートの使用を提供できます。これらは、カスタムタイプを簡単にレンダリングまたは編集する場合に役立ちます。検証を適切に処理し(パーシャルを使用すると奇妙になる可能性があります)、再帰的にネストできます(これも、必要になるまで明らかに便利ではない別の機能です)。
Html.RenderAction()
またはHtml.Action()
を使用して、ビュー内で別のコントローラーアクションを呼び出し、結果をページにインラインで表示することもできます。これは、部分的なレンダリング、コントローラーへのインクルードコード、およびパラメーターの受け渡しを可能にするため、おそらく必要なものに最も近いものです。
リンク先:
すでに述べたように、部分ビューを使用できます。はい、最も効果的で効率的な方法である部分ビューを使用できます。
Ajaxレンダリングの場合、いつでも使用できます
@using (Ajax.BeginForm("Details", new { id = Model.Post.PostId }, new AjaxOptions
{
あなたが見たいリンクのいくつか