javascript - 将信息从 Razor 客户端 (cshtml) 传递到 AngularJS

标签 javascript asp.net-mvc angularjs asp.net-mvc-4 razor

我有以下 Razor 文件:

@{
    ViewBag.Title = "Blah";
    Layout = "~/Views/Shared/_Layout.cshtml";
    ViewBag.InitModule = "myFooModule";
}

@section Scripts{
    <script src="~/Scripts/angular-route.js"></script>
    <script src="~/Scripts/angular-route.min.js"></script>
    <script src="~/js/recipes.js"></script>
}
<div data-ng-view

这是我的 angularjs 代码:

var testModule = angular.module("myFooModule", ['ngRoute']);

appetizerModule.config(["$routeProvider", function ($routeProvider) {
    $routeProvider.when("/", {
        controller: "myController",
        templateUrl: "/Templates/test.html"
    });
    $routeProvider.otherwise({ redirectTo: "/" });
}]);

我想将一个包含“myuserinfofromPage”等数据的变量从我的 razor 页面传递到我的 angularJs,以便我可以使用该数据(“myuserinfofromPage”)来执行某些操作集。由于我是 AngularJS 的新手,我正在努力寻找一种干净的方式来传递数据。将简单数据从 Razor(cshtml) 传递到我的 Angular 代码的最佳方式是什么?

最佳答案

您可以在 Razor 页面中嵌入以下内容:

 <script>
  app.value('myValue', @Html.Raw(Json.Encode(Model)))
 <script>

其中 Model 是您要渲染的 .NET 对象。

然后将它注入(inject)到你的 Controller 中:

 app.controller('ctrl', function($scope, myValue) 
 {
      //use myValue
 });

关于javascript - 将信息从 Razor 客户端 (cshtml) 传递到 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24512313/

相关文章:

javascript - 在 ng-repeat angularJS 中仅隐藏和显示每个对象的输入字段

javascript - 如何使用 angular.element ('#id' 获取输入元素的值)

javascript - 如何在按键时自动填充文本字段

javascript - AngularJS/TypeScript : Failed to instantiate module due to service

c# - MVC ModelState.IsValid=true 且必需属性为 null

javascript - JQuery 两次调用 Controller (MVC)中的方法

.net - 具有预编译 View 的助手

javascript - AngularJS中如何解决跨域访问

javascript - Firebase 在其他文件中调用之前未初始化

javascript - Firebug css js 顺序与实际加载顺序