将布尔值从 c# 传递到角度视图

本文关键字:视图 布尔值 | 更新日期: 2023-09-27 18:34:43

这是我的简单代码:

C#

 public bool isAllowed { get; set; }
    protected void Page_Load(object sender, EventArgs e)
    {
        isAllowed = false;
    }    

角度控制器

<script>
var myApp = angular.module('myApp', []);    
myApp.value('allowed', <%= isAllowed %>);//myApp.value('allowed', False);
myApp.controller('TestController', ['$scope', function ($scope, allowed) {
    $scope.result = allowed;
}]);
</script>

视图

<body data-ng-app="myApp">
 <div data-ng-controller="TestController">{{result}}</div>
</body>

我最终得到
未捕获的引用错误:未定义 False

myApp.value('allow', False(;

如何将布尔值传递给 $scope.result?

将布尔值从 c# 传递到角度视图

默认情况下

,ASP.NET MVC会将值true转换为Truefalse转换为False,同时返回模型值以供查看。

在这种情况下,您的值False被视为JavaScript变量,这就是您获得Uncaught ReferenceError: False is not defined的原因。(布尔值应为 true/false (。

所以基本上你可以通过应用一些操作将其转换为布尔值,如下所示。

myApp.value('allowed', <%= isAllowed == 'True' %>); 

除此之外allowed您错过了在 DI 内联数组中注入的依赖项

                     //dependency added here VVVVVVVVVV
myApp.controller('TestController', ['$scope', 'allowed', function ($scope, allowed) {

试试这个:

myApp.value('allowed', <%= isAllowed.ToString().ToLower() %>);