2011-09-19 81 views
2

我已經有一個ASP.NET MVC3網站,使用Razor作爲視圖引擎。 是否有可能使用GWT創建UI並將其作爲查看在我的MVC3網站? 它是如何正確完成的?如何將GWT與ASP.NET MVC3集成?

注意:我知道使用JS API(如JQuery或Google Closure)更容易在ASP.NET MVC3中構建UI,但目前GWT是該項目的一項要求。

回答

1

現在的問題是您是想要走多頁還是單頁的道路。
GWT是一個工具包,可幫助您創建單個頁面的Web應用程序,其中後端僅用作數據源。這是一個SOUI(面向服務的用戶界面)方法。

單個主機頁面爲GWT客戶端應用程序提供服務,並在客戶端處理流同步和其他用戶界面模式(MVP)。
如果你走這條路,你可能不會使用任何ASP.NET MVC3的高級功能(特別是模型控制器視圖部分)。

但是,也可以在多頁設置中使用GWT,其中後端處理「流同步」,並且將GWT作爲小部件嵌入到相應的視圖/頁面中。
您最終得到每個主機頁面/ MVC視圖的小GWT應用程序。您不會獲得代碼重用中的所有優化,因爲每個主機頁面都將是一個單獨的GWT應用程序,因此共享代碼將被多次下載。

關於你的具體問題和ASP.NET MVC3和Razor的技術方面:
我不能評論,因爲我沒有ASP.NET MVC3的經驗。但通常情況下,GWT應用程序可以嵌入到任何網頁中,包括nocache.js引導文件(如果您希望歷史記錄支持也嵌入隱藏的iFrame)。
有關更多詳細信息,請參閱here

注意:這個project也可能是你感興趣的。