我试图从我的mvc项目中的另一个文件夹(AddEditPersonModal.cshtml)访问编辑部分,然后通过angular加载ui bootstrap模式中的内容。当index.cshtml页面加载时,我得到404错误。这是我的代码:
角:
$scope.editPerson = function (person) {
$scope.modalModel = person;
//getModal(person);
$uibModal.open({
templateUrl: '/Modal/AddEditPersonModal.cshtml',
controller: 'modalController',
scope: $scope
})
resolve: {
person: {
return $scope.person;
}
}
}
Index.cshtml
<a href="" data-toggle="modal" data-target="#myModal" ng-model="editPersonModel" ng-click="editPerson(person)"><span class="fa fa-pencil-square-o"></span></a>
错误:
angular.js:12011 GET http://localhost:58227/Modal/AddEditPersonModal.cshtml 404 (Not Found)(anonymous function) @ angular.js:12011n @ angular.js:11776(anonymous function) @ angular.js:11571(anonymous function) @ angular.js:16383$eval @ angular.js:17682$digest @ angular.js:17495scopePrototype.$digest @ hint.js:1364$apply @ angular.js:17790scopePrototype.$apply @ hint.js:1427(anonymous function) @ angular.js:25890dispatch @ jquery-1.12.4.min.js:3r.handle @ jquery-1.12.4.min.js:3
angular.js:13920 Error: [$compile:tpload] http://errors.angularjs.org/1.5.8/$compile/tpload?p0=%2FModal%2FAddEditPersonModal.cshtml&p1=404&p2=Not%20Found
at angular.js:38
at angular.js:19433
at angular.js:16383
at m.$eval (angular.js:17682)
at m.$digest (angular.js:17495)
at m.scopePrototype.$digest (hint.js:1364)
at m.$apply (angular.js:17790)
at m.scopePrototype.$apply (hint.js:1427)
at l (angular.js:11831)
at J (angular.js:12033)
ModalController:
[HttpPost]
public ActionResult AddEditPersonModal(DTOPerson model)
{
return View(model);
}
答案 0 :(得分:1)
在MVC中,您导航到返回视图的控制器方法,而不是视图文件本身。将脚本更改为
$uibModal.open({
templateUrl: '/Modal/AddEditPersonModal', // amend
controller: 'modalController',
scope: $scope
})
并从[HttpPost]
方法移除AddEditPersonModal()
属性(它正在发出GET请求,而不是POST)