2014-04-01 82 views
16

這是將Html字符串塊從Controller傳遞到MVC中的最佳方式。我希望它在頁面加載時顯示html塊。謝謝。它可以是任何HTML, e.g從控制器傳遞Html字符串以查看ASP.Net MVC

<table style="width:300px"> 
<tr> 
    <td>Jill</td> 
    <td>Smith</td> 
    <td>50</td> 
</tr> 
<tr> 
    <td>Eve</td> 
    <td>Jackson</td> 
    <td>94</td> 
</tr> 
</table> 

我想通過這個從控制器字符串查看。它將顯示爲html。 謝謝

+0

可能重複。NET MVC通過原始HTML從控制器查看](http://stackoverflow.com/questions/12033578/asp-net-mvc-passing-raw-html-from-controller-to-view) – Satpal

回答

40

在你的控制器動作:

ViewBag.HtmlStr = "<table style=\"width:300px\"><tr><td>Jill</td><td>Smith</td> <td>50</td></tr><tr><td>Eve</td><td>Jackson</td><td>94</td></tr></table>"; 

您的看法:

@Html.Raw(ViewBag.HtmlStr) 
+0

真棒男人,你搖晃:) –

+0

簡單的解決方案和簡單是最好的。 –

+0

今天幫了我......謝謝.... –

4

可以在控制器指定的HTML ViewBag和查看訪問ViewBag拿到那就是HTML

控制器

ViewBag.YourHTML = htmlString; 

查看

<div> @ViewBag.YourHTML </div> 

更好的是不是要pas期從控制器的HTML查看而傳遞對象或對象視圖(強類型視圖)的收集和呈現查看HTML,因爲它是搜索的責任

控制器

public ActionResult YourView() 
{ 
    //YourCode 
    return View(entities.yourCollection.ToList()); 
} 

教職員

<table style="width:300px"> 
    foreach (var yourObject in Model) 
    { 
     <tr> 
      <td>@yourObject.FirstName</td> 
      <td>@yourObject.LasttName</td> 
      <td>@yourObject.Amount</td> 
     </tr>  
    } 

</table> 
+0

和我應該如何顯示它在檢查 –

+0

是的,檢查我的答案。 – Adil

+0

好的答案Adil,但我真的不喜歡在控制器中創建html的做法。那是什麼意見:) – Sandman

1

控制器

ViewBag.HTMLData = HttpUtility.HtmlEncode(htmlString); 

查看

@HttpUtility.HtmlEncode(ViewBag.HTMLData) 
1

您可以使用ViewBag.YourFieldViewData["YourStringName"]併爲您的瀏覽retreiving它。只需將它放置在您想要的@之前,就像這樣@ViewBag.YourField@ViewData["YourStringName"]

2

最好的方法是創建一個局部視圖,並附加一些div容器內你父視圖通過它返回的HTML 。

在你的主視圖這樣做:

<div> 

    @{ 

    Html.RenderAction("youraction","yourcontroller") 

    } 

</div> 

在你的行動做到這一點:

public ActionResult youraction() 
{ 
return View(); 
} 

和你的部分觀點:ASP的

@{ 
Layout = null; 
} 

<table style="width:300px"> 
<tr> 
    <td>Jill</td> 
    <td>Smith</td> 
    <td>50</td> 
</tr> 
<tr> 
    <td>Eve</td> 
    <td>Jackson</td> 
    <td>94</td> 
</tr> 
</table> 
+0

my即將到來的html不是靜態的,它完全動態的。所以我不能創建一個固定的局部視圖。 –

+0

你可以在局部視圖中創建動態html \ –

相關問題