我的最终目标是动态更新html页面上的无序列表,而不必重新加载页面。
我的第一步是根据
从数据库中获取列表 <div ng-init="scenarioid='@Model.SCENARIOID'">
将尝试在我的.cshtml页面中的测试div中执行ng-repeat
<div id="test">
</div>
我在将数据传回MVC控制器时遇到问题。
我试过了
'@Url.Action("ConfirmedCorrectList", "Content", "$scope.scenarioid")'
'@Url.Action("ConfirmedCorrectList", "Content", "{{scenarioid}}")'
'@Url.Action("ConfirmedCorrectList", "Content")/$scope.scenarioid'
'@Url.Action("ConfirmedCorrectList", "Content")/{{scenarioid}}'
似乎没有什么工作可行,因为MVC控制器总是将string scenarioID
视为null现在我试图将data: something
传递回我的MVC控制器,但它总是显示为null。
我请求帮助理解并帮助将我的变量传递回我的MVC控制器,并确认数据已成功返回到我的cshtml页面。
这是我的Angular模块
angular.module('Details', ['ngRoute', 'ngResource'])
.controller('DetailsMainCtrl', ['$scope', '$http', '$window', function ($scope, $http ,$window) {
$scope.$watch('pfsscenarioid', function () {
console.log('AngularJS $scope.pfsscenario ID: ' + $scope.pfsscenarioid);
});
$scope.$evalAsync(function () {
$http({
method: 'GET',
url: '@Url.Action("ConfirmedCorrectList", "Content")',
data: { scenarioID: {{scenarioid}} }
})
.success(function (data, status) {
$scope.status = status;
$scope.data = data;
$scope.$watch('data', function () {
console.log('Data Returned by $http: ' + $scope.data);
});
}).error(function (data, status) {
$scope.data = data || "Request failed";
$scope.status = status;
});
我的控制器上的JsonResult
public JsonResult ConfirmedCorrectList(string scenarioID)
{
//find the scenario by scenario ID
Scenario Scenario = db.Scenarios.Find(scenarioID);
//create object of all who have confirmed the scenario correct so far.
var result = Scenario.ConfirmedCorrectBies
.OrderBy(x => x.DateConfirmed);
//return JSON object of result
return Json(result, JsonRequestBehavior.AllowGet);
}
编辑:更新变量场景到scenarioid,因为它应该是作用域名称。
答案 0 :(得分:0)
将ajax呼叫发布数据更改为
数据:{&#34; scenarioID&#34;:$ scope.scenarioid}
此处 scenarioid 是用于生成模型的模型变量。 或者它可以是 $ scope.scenario.scenarioid