テンプレートの HTML 文字列があり、さまざまな未知のポイントに {{Url}} プレースホルダーがあり、アプリケーションの特定のコントローラー/アクションに関連しています。私がする必要があるのは、ビューで最終的な html をレンダリングする前に、html をこれらのプレースホルダーにレンダリングすることです。
Html.RenderAction("Action","Controller")
ビューでは、必要な文字列を返す だけで呼び出すことができます。ただし、たとえば、コントローラーコードでこのメソッドを呼び出す必要があります(これは簡略化されています)。
「ダッシュボード」コントローラーで:
var templateHtml = GetTemplateHtml();
//The following line doesn't compile
var html = Html.RenderAction("Index","PowerAnalysisDashpart");
ViewBag.Html = templateHtml.Replace("{{PowerAnalysisDashpart}}",html)
次に、「ダッシュボード ビュー」で:
<div id="content">
@Html.Raw(ViewBag.Html)
</div>
コントローラでレンダリングされた HTML 文字列を取得するために「RenderAction」を呼び出すにはどうすればよいですか?
編集: 私が達成しようとしていることについて混乱があるようです。基本的に、管理者が HTML テンプレートを作成できるようにする必要があります。このテンプレートには、アプリケーションのさまざまなページのフレームが効果的に含まれます。iframe も機能しますが、すべての HTML をサーバー上に構築することをお勧めします。