我想将AngularJS非SPA用于我的网站以及ASP.NET MVC。身份验证通过Active Directory进行,因此我发现最好使用ASP.NET MVC进行路由和身份验证/授权。
所以我想做的是创建一个包含ng-app
定义的_Layout.cshtml页面,然后从_Layout.cshtml派生的每个视图都包含ng-controller
定义。
对于RESTful数据处理,我会使用ASP.NET Web API。
我能想到的唯一问题是URL查询字符串参数。如果我想查看ID
特定的某些记录,我总是必须将ID
放在ASP.NET {1}}的ASP.NET MVC控制器中,并在这样的视图中获取它:
ViewBag
有更好的方法吗?请说清楚。 :)
答案 0 :(得分:3)
更新答案:
由于您未使用Angularjs路由,因此可以使用ngInit
。它将在您控制器的范围内初始化一个新变量,您将能够像以下一样访问它:
HTML(在您的控制器内):
<AnyElement ng-init="roomID = @ViewBag.roomID"></AnyElement>
JavaScript的:
var roomID = $scope.roomID;
有关详细说明,请参阅ngInit documentation。
原始答案:
在Angularjs中,您可以非常轻松地访问查询字符串参数,如:
var paramValue = $routeParams.yourParameterName;
或者,如果您要初始化JavaScript变量,请考虑使用ngInit
。它将在您控制器的范围内初始化一个新变量,您将能够像以下一样访问它:
HTML(在您的控制器内):
<AnyElement ng-init="roomID = @ViewBag.roomID"></AnyElement>
JavaScript的:
var roomID = $scope.roomID;
有关详细说明,请参阅ngInit documentation。
希望有所帮助。