我正在使用ASP .NET MVC 3,我有一個有趣的問題來解決,我希望得到一些建議。是否可以通過Controller方法以編程方式調用Razor Compiler?
我有一個頁面,裏面有一些divs。每個div的內容隨着時間而改變,所以目前我有一個定時器,用於每個div的運行,它向服務器發出一個$ .ajax請求,該請求返回帶有更新的div內容的PartialViewResult。部分視圖相當複雜,並引用其他視圖。
這種方法的問題是它不能很好地擴展。可能每個用戶都有很多這樣的定時器在運行,並且很多用戶都在不斷地碰到服務器。我寧願,因此,讓一個請求到返回,有可能在服務器,多格的內容,因此將是:
div1 { some html }
div2 { some html }
...
然後在客戶端上我可以把每個位HTML到頁面上的正確位置。
我以爲我能做的是從服務器返回JSON,但我的問題是 - 我如何獲得HTML?目前,剃鬚刀編譯器將運行並將我的部分視圖cshtml文件轉換爲HTML,但如果我返回JSON,是否可以通過編程方式調用剃鬚刀編譯器?
我在這裏找到了Razor引擎:http://razorengine.codeplex.com/似乎做我想要的東西,但是有可能只用香草ASP NET MVC做到這一點嗎?
或者,考慮到這個問題,有沒有更好的方法可以實現我的目標?
感謝您的幫助!
爲什麼不創建一個Action來返回一個新的PartialView來呈現所有這些PartialViews?這樣引擎就從正確的位置被調用,即視圖。 – StuperUser 2011-12-20 14:34:13