我需要用控制器读取一个viewbag的值,我该怎么做?
app.controller('ConseilManagOrga', function ($scope, $http) {
$http.get("../api/Form/GetForm?id=" + @ViewBag.id).success(function (response) {
$scope.FormFund = response;
});
});
if (Name == "ConseilManagOrga")
{
ViewBag.Form = "FormChildren";
ViewBag.Controller = "ConseilManagOrga";
ViewBag.Image = "stone.jpg";
ViewBag.id = 3;
}
答案 0 :(得分:2)
我认为这样做的最好方法是编写一个脚本标记,并使用Razor将JavaScript变量的值设置为ViewBag值:
<script type="text/javascript">
var MyVariableFromViewBag = '@ViewBag.id';
</script>
这将创建一个全局变量名MyVariableFromViewBag。当然,您应该避免在生产代码中使用全局javascript变量。修改样本以分配给更安全的变量。
答案 1 :(得分:1)
另一种解决方法是使用隐藏的输入字段,该字段获取Viewbag值的值:
<input type="hidden" id="myId" value="@ViewBag.id" />
然后在您的javascript文件中,您可以通过ID访问此值:
var myId = $("#myId").val();
答案 2 :(得分:1)
使用ng-init也是另一种方法。
ng-init="vm.environment = '@ViewBag.Environment'"