2013-07-09 67 views
3

當使用angularjs時,我通過ASP.NET MVC4提供了主頁索引頁面。但我希望這是一個SPA。對於angularjs路由,這是否意味着我放棄了部分服務器端視圖的一個MVC,並只與HTML頁面一起作爲我的angularjs的「部分」視圖?使用angularjs和ASP.NET MVC

任何人都這樣做,如果是的話,你採取了什麼樣的方法?簡單的HTML頁面與angularjs或其他解決方案?

+1

在第一次加載期間,您應該從MVC提供索引頁面,然後您應該只依賴角度應用程序的html頁面。只需服務器靜態html頁面,而不使用asp.net基礎結構。 –

+0

好吧..這就是我的想法......雖然有一個缺點是可能是特定於部分html視圖的腳本和css的很好的捆綁包...我想這也是有道理的在加載索引頁面中的那些東西因爲它是一個SPA ... – Nicros

+0

是的,你必須加載索引頁面上的所有內容。 –

回答

2

在SPA模型中,您只能提供包含所有角碼的主視圖以執行動態頁面更新。您的服務器端操作只能將JSON數據返回給客戶端,並通過角度來使用AJAX調用。部分服務器端視圖確實不再需要。

+0

你說得沒錯,但是如果你在AngularJS中使用asp.net MVC時沒有使用MVC的權力,那麼使用MVC的原因是什麼。根據我的理解,您可以將這兩種技術有效地結合使用,並構建更強大的Web應用程序。這裏是一個簡單的教程,它演示了這兩種技術的使用https://www.mindzgrouptech.net/2017/02/09/an-application-in-angularjs-with-asp-net-mvc/ –

4

Darin說的是真的。

爲了增加它,我建議將Web Api與angularjs而不是標準MVC配對,因爲它更合適。您不需要mvc partials(因爲它們是服務器端偏好,而angularjs是基於客戶端的)。

所以你的所有服務器的東西,這將是JSON等將通過ApiController操作處理。你可以讓你的模型像普通一樣仍然存在。但對於您的MVC觀點,它只是一個。所有的angularjs SPA路線都將在角度內處理。

+0

這是在事實正是我所擁有的:) web api正在處理來自SQL服務器的所有數據,而我只是提供了index.cshtml頁面 - angularjs,並且使用靜態html進行路由處理剩下的部分。 – Nicros