6

我用Asp.net webforms使用角js。我想用角度js API從數據庫檢索數據。我在谷歌或任何教程中看到的所有內容,都使用帶有Asp.net MVC的角度js API。使用Angular js API與ASP.net webForms

我的問題是:我們可以在Asp.net web Forms中使用角度js API嗎?

如果是,那麼方法將與Asp.net MVC中的相同?

此外,我知道角js是SPA(單頁應用程序),它有模型視圖和控制器。

回答

8

是的,你可以。

但我真的真的不推薦它。要確保它們不會彼此踩腳趾,可能非常困難,因爲它們都是通過增強HTML來實現的。

我的建議是,您開始將您的業務邏輯從Web表單代碼轉移到Service類中,以便您可以通過[WebMethods]公開業務邏輯。您可以添加WebMethods to the pages,但如果您可以使用WebAPI添加REST Web服務端點,則會更好。

將角度SPA視爲完全獨立於服務器技術,您需要Angular與服務器一起使用的是HTTP API,最好是返回JSON的HTTP API。

+0

非常感謝,您添加的鏈接非常棒 – user34094881 2014-10-29 06:20:46

+3

許多Web Forms開發人員都轉移到了Angular。這兩者之間有明顯的相似之處,但它們在它們開始的地方結束。管理狀態和轉換並擴展HTML。再次,這是相似之處結束的地方。想想你是否可以使用JavaScript來拉回Web Forms的風格,這是你已經熟悉的,通過控制獲得精細的紋理控制。刪除Web表單讓你隨身攜帶的黑盒子。從HTML和Angular開始,並使用您對c#的瞭解來設置API端點,而不是使用Web窗體控件的SQL語句。 – 2015-08-08 11:11:47

+0

我有一個應用程序使用ASPX頁面,我想用Angular的JSON數據,而不是使用嵌套的網格視圖。我需要創建一個HTML頁面,而不是使用帶有主文件的Web表單嗎? – 2017-07-26 16:32:02

0

嗨,你可以在Web窗體中使用角度,也可以通過角度使用$ HTTP服務來完成單頁應用程序。 我寫了一個使用web窗體的ajax調用。

<script type="text/javascript" ><src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular.min.js"></script> 
<script type="text/javascript"> 
    var app = angular.module('MyApp', []) 
    app.controller('MyController', function ($scope, $http, $window) { 
     $scope.ButtonClick = function() { 
      var post = $http({ 
       method: "POST", 
       url: "Default.aspx/GetCurrentTime", 
       dataType: 'json', 
       data: { name: $scope.Name }, 
       headers: { "Content-Type": "application/json" } 
      }); 

      post.success(function (data, status) { 
       $window.alert(data.d); 
      }); 

      post.error(function (data, status) { 
       $window.alert(data.Message); 
      }); 
     } 
    }); 
</script> 
<div ng-app="MyApp" ng-controller="MyController"> 
    Name: 
    <input type="text" ng-model="Name" /> 
    <br /> 
    <br /> 
    <input type="button" value="Submit" ng-click="ButtonClick()" /> 
</div>