【发布时间】:2015-12-21 23:47:22
【问题描述】:
我在一些 Html 中嵌入了一个 Html 变量,我从数据库中检索到 AngularJS $scope 对象。然后我使用 ng-bind-html 指令在 MVC/razor 视图中呈现它。一个简单的例子如下:
myView.cshtml
<html>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<p ng-bind-html="pageSizeHtml"></p>
</div>
</body>
</html>
myCtrl.js
var myApp = angular.module('myApp', []);
myApp.controller('myCtrl', function($scope) {
$scope.pageSizeHtml = '<div>Your page size is: @OurSystem.Configuration.PageSize</div>'
});
当我运行它时,呈现的页面如下所示:
Your page size is: @OurSystem.Configuration.PageSize
但我希望它解释 Razor 变量的值,看起来像这样:
Your default page size is: A4
真的坚持这一点,所以任何帮助将不胜感激!
【问题讨论】:
-
您能否展示一个简短但完整的页面来演示该问题?如果角度应用程序包含在剃刀视图中,这应该没问题,但如果它是模板或其他一些外部源,则不是。
-
@BrendanGreen 我添加了更明确的代码示例。希望这会让事情变得更清楚。如果不只是问。
-
那行不通。 JS 文件不会通过“剃须刀引擎”运行,因此它被视为字符串文字。最好使用
ng-init并从视图中传递它。我有一个可行的例子,我会坚持回答。 -
@BrendanGreen:啊。这是有道理的。 razor 变量在服务器上解释,angularJS 之后在客户端解释。我希望使用 Web API 返回此数据,但我将等待您的答复。感谢您的及时回复。这些事情可能需要几个小时!
标签: html angularjs asp.net-mvc razor