簡體   English   中英

從HTML字符串內部調用Html.RenderAction

[英]Call Html.RenderAction from inside HTML string

我有一個ASP.NET MVC 4應用程序,該應用程序使用數據庫存儲頁面(HTML),圖庫,表單等。我想為用戶提供從頁面內部調用其他控制器的功能。

簡化的問題是如何從數據庫獲取的字符串中調用渲染操作。 例如,我希望該字符串包含@Html.RenderAction("Show", "Gallery", new {id=5})

另一個選項是我必須解析控制器內部的字符串,並在呈現此HTML之前將所有子調用呈現給字符串。

編輯:數據庫將返回類似下面的代碼,服務層可以將{$ gallery $}替換為@Html.RenderAction("Show", "Gallery", {id=5})

<div class="text">
<h1> title </h1>
<p> this is some random text {$gallery$} </p>
</div>

從你的陳述

簡化的問題是如何從數據庫獲取的字符串中調用渲染操作。

我知道您想使用動態提供的action-namecontroller調用一個動作。 如果這是您想要的,則可以使用

視圖模型

 public class MyViewModel{

   public string Action {get;set;}

   public string ControllerName {get;set;}

 }

控制者

  public class MyController : Controller{

       public ActionResult MyView(){

         return View(new MyViewModel 
                   { Action ="MyPartialView" , ControllerName = "my"});
       }

       public ActionResult MyPartialView(){
         return PartialView();
       }
  }

視圖

 @model MyView

  ....render stuff for the view

@{
   Html.RenderAction(Model.Action,Model.ControllerName);
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM