如何在 Web 表单中实现 AngularJS 控制器?

Posted

技术标签:

【中文标题】如何在 Web 表单中实现 AngularJS 控制器?【英文标题】:How to implement an AngularJS controller in a webform? 【发布时间】:2013-09-26 04:29:07 【问题描述】:

我有一个 AngularJS 控制器,我想在我的 MVC 网络表单视图页面中使用它。

我创建了一个简单的代码,但似乎不起作用。

Test.js

angular.module('project').controller("TestCtrl", function($scope)
  $scope.text = 'test';
);

View.aspx

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<SampleProject.Models.ReportInfo>" %>

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" ng-app="project">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server" ng-controller="TestCtrl">
        text
    </form>
</body>
</html>

我希望看到 test 这个词,但它没有绑定。我只看到 text

【问题讨论】:

【参考方案1】:

你需要在模块中的第二个参数,一个模块数组,供注入器在当前模块之前加载。在这种情况下,它将是空的。

angular.module('project', []).controller(....

您也没有参考在头部加载 angular.js 脚本

【讨论】:

我已经在我的其他 js 中引用了 angular.js。我尝试放置 [] 但我的页面没有完成加载 我也试过把 ng-app 放在 标签里,还是不行。我错过了什么吗?

以上是关于如何在 Web 表单中实现 AngularJS 控制器?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 angularjs 应用程序中实现安全(!)身份验证系统?

如何使用 asp.net Web 表单在 Telerik 树中实现搜索和过滤

如何在 AngularJS 中实现 websockets?

如何在 Razor 页面中实现两个具有单独 BindProperties 的表单?

如何在angularjs中实现导航栏

如何在 AngularJS 中实现组件组合(类似于 React 渲染道具模式)?