2012-02-09 24 views
0

我需要使用靜態html頁面作爲MVC3剃鬚刀母版頁。如何提供動態構建的MVC3 MasterPage

它需要能夠將控制器的剃刀內置視圖注入到靜態html頁面上的指定span標記中。

我如何去:

  1. 負載靜態HTML
  2. 解析靜態html字符串,我需要注入剃刀視圖
  3. 注入剃刀觀點。

這就是爲什麼我們的客戶希望能夠從他們的CMS發佈靜態HTML(每日)並讓應用程序在「模板」上獲取並將其用於他們的動態部分現場。他們對.NET和MVC3沒有任何理解,也不能讓他們以任何方式與.NET進行交互。

任何想法?

謝謝。

+2

只需使用正常的MVC3佈局和視圖即可。老實說,如果我們更瞭解你爲什麼想這樣做,我們可能會更好地幫助你。 – 2012-02-09 19:03:31

+0

剛剛做到了。感謝您的建議 – Micah 2012-02-09 19:21:37

+0

.html中是否只有一個部分需要將控制器操作結果注入?或者您需要將dynanmic內容注入html的多個部分? – 2012-02-09 22:50:41

回答

0

假設您只需將視圖插入HTML的一部分,就可以將HTML截斷爲「之前」和「之後」部分。創建一個具有「之前」,「中間」和「之後」部分的Layout.cshtml。之前&是你從.html解析的部分,中間是你的Razor視圖的結果。

0

服務器不執行靜態頁面,因此如果要求將動態頁面導入靜態頁面,最好的方法是使用iframe或javascript將生成的html從mvc3站點放置到這一頁。

你可以很容易地做到這一點使用jQuery:

$(function() { 
    $("#ContentFromMVCSite").load("http://mysite.com/url/to/mvc/view"); 
}); 

<div id="ContentFromMVCSite"></div> 

該代碼會下載從MVC網站的HTML輸出,並將其放置在div內。欲瞭解更多信息see the documentation