1

我正在使用AngularJS製作單頁應用程序。對於我的後端,我使用了ASP.NET Web API和ASP.NET MVC 6的ASP.NET 5(重命名爲ASP.NET Core)。AngularJS SPA提供部分視圖而不是靜態html文件

我想知道是否使用部分剃鬚刀是不好的做法從MVC控制器傳遞的html視圖(基本上是將C#呈現爲HTML的HTML文件),而不是在表示層中具有靜態HTML文件。

基本上我的選擇是:

  1. 「經典」 AngularJS SPA,所有的我的html文件是靜態的,並在表示層,所有的表示邏輯在瀏覽器中完成。它與後端的唯一通信將是JSON中的API調用。

  2. AngularJS SPA其中沒有靜態html文件。相反,當進行視圖調用時,會調用後端控制器,該控制器會返回呈現的局部視圖 - 基本上允許您同時使用剃刀視圖和角度。

第二種方法是不好的做法/有什麼不好的東西,我失蹤了嗎?謝謝。

編輯:很容易找到一些關於如何以這種方式實現它的問題/教程,但我仍然不確定是否這樣做是一種很好的做法。

回答

1

在我看來,在更動態的(服務器端)視圖中使用razor語法確實不錯。無論如何,視圖都呈現爲HTML,所以Angular可以像靜態HTML文件一樣解析它。 使用剃鬚刀的好處是可以更容易地實現服務器端驗證。

特別是當你有安全需求時,但一般情況下我建議實現服務器端驗證,而不是僅僅依靠客戶端驗證。避開它很容易,而且你不希望最終導致服務器端錯誤的漏洞或無效/不一致的數據。