実際には ASP .NET MVC の部分ビューである「モジュール」のリストをデータベースに保持したいと思います。
それを動的に定義することは可能ですか?
HTML
<p>A Partial Control</p>
@Html.Partial("UserControls/ColorBlockUserControl", new ColorModel())
<hr />
<p>A Partial Control that is initialized on Server-Side</p>
@{
Html.RenderAction("InitializeUserControl");
}
C#
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new HomeModel());
}
public ActionResult InitializeUserControl()
{
ColorModel colorModel = new ColorModel
{
Width = 200,
Height = 200,
RGBColor = "#FF0000"
};
return PartialView("UserControls/ColorBlockUserControl", colorModel);
}
}
ViewBag を使用して使用することを想定しています
@ViewBag.InitializeUserControl = "InitializeUserControl"; // It goes from the database and can be ANY name
Html.RenderAction(@ViewBag.InitializeUserControl);
しかし、それは機能していません...
私はあなたがそれを定義するアイデアを得たことを願っています
Html.RenderAction("I need here the dynamic var");
ありがとう!
PS最終的なアイデアを明確にするために、ユーザーが編集可能なテンプレート(CKEditor)に提供することで、ユーザーは任意のASP .NET MVC UserControl名、つまり「Gadget1」または「Gadget2」を追加でき、WebPageを動的に変更し、持っているすべてのコントロールを表示できます動的に追加されました。