0

実際には 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を動的に変更し、持っているすべてのコントロールを表示できます動的に追加されました。

4

1 に答える 1

1

@satpal に感謝

彼は答えを入れ、その後それを削除しました。どうしてか分かりません。しかし、彼は正しいです!

Html.RenderAction((string)@ViewBag.InitializeUserControl); 

これは機能しています!

于 2013-08-08T14:30:16.240 に答える