コントローラのビュー内でレンダリングする方法がありますB?レンダリング他のコントローラから部分ビュー
編集:私は、2つのコントローラだけに適した部分的なビューを作成し、両方のビューフォルダにコピーしたくありません。
私は何かが起こった後ではなく、ビューがレンダリングされるたびに部分ビューが表示されるようにします。
コントローラのビュー内でレンダリングする方法がありますB?レンダリング他のコントローラから部分ビュー
編集:私は、2つのコントローラだけに適した部分的なビューを作成し、両方のビューフォルダにコピーしたくありません。
私は何かが起こった後ではなく、ビューがレンダリングされるたびに部分ビューが表示されるようにします。
代わりにあなただけ返し、共有ビューでの部分図を/置くことができます。各コントローラは、そのビューを名前でレンダリングできます。
Html.Partial()
を使用して、現在のビュー内の部分ビュー((1)のようにコントローラ間で共有することができます)をレンダリングできます。Html.Action()
を使用すると、別のコントローラでアクションを呼び出して、現在のビュー内で結果をレンダリングできます。オプション3について:コントローラを呼び出して、他のコントローラから部分的なビューをレンダリングできますか?相対パスを使用せずにありがとう! – gdoron
@gdoron部分的なビューを生成するコードを1つまたは他のコントローラにローカライズし、両方のコントローラのビューに 'Html.Action()'を介して含めることができます。 – tvanfosson
5.完全なパスを@ Html.Partial( "〜/ Views/Partials/Location.cshtml"、Model) –
@model YourModelNamesapce.ModelName
@{
ViewBag.Title = "Edit";
Layout = "~/Views/Shared/_LayoutForPartialViews.cshtml";
}
<table>
<tr>
<td>
@Html.LabelFor(model => model.fieldname)
</td>
<td>
@Html.DisplayFor(model => model.fieldname)
</td>
</tr>
<tr>
<td>@Html.Action("PartialViewAction", "Controller", new { id = Model.id })</td>
</tr>
</table>
私はこのスレッドが同じ質問を探したが答えは働いていなかった見られるように:あなたはPittfallによって投稿neat solutionを使用することはできませんオーチャードCMSモジュールでは、あなたは相対パスを使用する必要があります部分的なビューを返す。あなたは、コントローラ
Controllers/SiteController.cs
を持っているし、あなたがこれは、いくつかの異なるものを意味するかもしれません
return PartialView("../Shared/MessageList/Items");
を記述する必要がアクションメソッドで、その後部分図に
を返すようにしたいとしましょう。ビュー(コントローラAで生成されたモデル)を再利用したいだけですか?ビューを生成するコントローラアクションを呼び出そうとしていますか?ページがレンダリングされた後、AJAXを使用してビューを動的にロードしたいですか? – tvanfosson
あなたはもっと具体的になりますか?正確に何を達成したいのですか? –
@ Html.Action( "YourPartialViewAction"、 "ControllerName"、new {id = Model.id}) –