我正在使用带有Asp.net webforms的角度js。我想使用angular js API从数据库中检索数据。我在google或任何教程中看到的所有内容都使用了带有Asp.net MVC的angular js API。
我的问题是:我们可以在Asp.net网络表单中使用angular js API吗?
如果是,那么方法将与Asp.net MVC中的相同?
此外,我知道角度js适用于SPA(单页应用程序),它有模型视图和控制器。
答案 0 :(得分:8)
是的,你可以。
但我真的真的不推荐它。确保他们没有踩到彼此的脚趾可能非常困难,因为他们都通过增强HTML来工作。
我的建议是,您开始将业务逻辑从Web表单代码移到Service类中,以便您可以通过[WebMethods]公开业务逻辑。您可以添加WebMethods to the pages,但如果您可以使用WebAPI添加REST Web服务端点,那会更好。
将角度SPA视为完全独立于服务器技术,Angular与服务器一起工作所需的只是一个HTTP API,最好是返回JSON的API。
答案 1 :(得分:0)
您好,您可以使用网页表单角度,您也可以通过角度使用$ HTTP服务来执行单页面应用程序。 我使用网络表单编写了一个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>