Angularjs TypeError:v2.UpdateData不是函数
我是Angular和MVC的新手,我已经为display创建了一个代码 记录到表视图中 用户可以通过单击“编辑和删除”按钮编辑和删除该记录 链接 但当我点击编辑链接TypeError时,它显示了错误: v2.UpdateData不是一个函数 它还显示了errorTypeError:$http.get不是一个函数 当我点击删除链接 有人能帮我解决这个问题吗。提前谢谢 Controller.jsAngularjs TypeError:v2.UpdateData不是函数,angularjs,asp.net-mvc-4,Angularjs,Asp.net Mvc 4,我是Angular和MVC的新手,我已经为display创建了一个代码 记录到表视图中 用户可以通过单击“编辑和删除”按钮编辑和删除该记录 链接 但当我点击编辑链接TypeError时,它显示了错误: v2.UpdateData不是一个函数 它还显示了errorTypeError:$http.get不是一个函数 当我点击删除链接 有人能帮我解决这个问题吗。提前谢谢 Controller.js //update data of table $scope.UpdataData
//update data of table
$scope.UpdataData = [];
//UpdateData();
$scope.UpdateData = function (StateMaster) {
var RetValData = DataService.UpdateStudent(StateMaster);
debugger;
getData.then(function (StateMaster) {
debugger;
StateID: $scope.StateID;
StateName: $scope.StateName;
CountryName: $scope.CountryName;
}, function () {
alert('Error in getting records');
});
}
$scope.DeleteData = [];
$scope.DeleteData = function (r, index) {
var retval = DataService.DeleteData(r.StateID).success(function (msg) {
$scope.countrydata.splice(index, 1);
alert('Student has been deleted successfully.');
}).error(function () {
alert('Oops! something went wrong.');
});
}.factory('DataService', function ($http) {
var fac={}
debugger;
fac.UpdateData= function($http)
{
return $http.get('/State/UpdateData');
}
return fac;
}).factory('DataService', function () {
var fac={}
debugger;
fac.DeleteData = function ($http)
{
return $http.get('/State/DeleteData');
}
return fac;
});
public string UpdateData(StateMaster r)
{
if (r != null)
{
using (simpleEntities dbContext = new simpleEntities())
{
StateMaster lstdata = dbContext.StateMasters.Where(x => x.StateID == r.StateID).FirstOrDefault();
lstdata.StateName = r.StateName;
lstdata.CountryName = r.CountryName;
dbContext.SaveChanges();
return "Data Updated";
}
}
else
{
return "something went worng";
}
}
[HttpPost]
public string DeleteData(int id)
{
if (id != 0)
{
using (simpleEntities databContext = new simpleEntities())
{
var lsdata = databContext.StateMasters.Where(x => x.StateID == id).FirstOrDefault();
databContext.StateMasters.Remove(lsdata);
databContext.SaveChanges();
return "Data Deleted Successfully";
}
}
else {
return "Error Occured";
}
}
StateController.cs
//update data of table
$scope.UpdataData = [];
//UpdateData();
$scope.UpdateData = function (StateMaster) {
var RetValData = DataService.UpdateStudent(StateMaster);
debugger;
getData.then(function (StateMaster) {
debugger;
StateID: $scope.StateID;
StateName: $scope.StateName;
CountryName: $scope.CountryName;
}, function () {
alert('Error in getting records');
});
}
$scope.DeleteData = [];
$scope.DeleteData = function (r, index) {
var retval = DataService.DeleteData(r.StateID).success(function (msg) {
$scope.countrydata.splice(index, 1);
alert('Student has been deleted successfully.');
}).error(function () {
alert('Oops! something went wrong.');
});
}.factory('DataService', function ($http) {
var fac={}
debugger;
fac.UpdateData= function($http)
{
return $http.get('/State/UpdateData');
}
return fac;
}).factory('DataService', function () {
var fac={}
debugger;
fac.DeleteData = function ($http)
{
return $http.get('/State/DeleteData');
}
return fac;
});
public string UpdateData(StateMaster r)
{
if (r != null)
{
using (simpleEntities dbContext = new simpleEntities())
{
StateMaster lstdata = dbContext.StateMasters.Where(x => x.StateID == r.StateID).FirstOrDefault();
lstdata.StateName = r.StateName;
lstdata.CountryName = r.CountryName;
dbContext.SaveChanges();
return "Data Updated";
}
}
else
{
return "something went worng";
}
}
[HttpPost]
public string DeleteData(int id)
{
if (id != 0)
{
using (simpleEntities databContext = new simpleEntities())
{
var lsdata = databContext.StateMasters.Where(x => x.StateID == id).FirstOrDefault();
databContext.StateMasters.Remove(lsdata);
databContext.SaveChanges();
return "Data Deleted Successfully";
}
}
else {
return "Error Occured";
}
}
InsertState.cshtml
<div ng-app="MyApp" ng-controller="StateController">
<table class="table table-bordered">
<tr>
<td>Sr. No.</td>
<td>Country Name</td>
<td>State Name</td>
<td></td>
@*<td>Country Name</td>*@
</tr>
<tr ng-repeat="r in countrydata">
<td>{{$index + 1}}</td>
<td>{{r.CountryName}}</td>
<td>{{r.StateName}}</td>
@*<td>{{r.CountryName}}</td>*@
<td>
<span ng-click="UpdataData(r)" class="btnAdd">Edit</span> |
<span ng-click="DeleteData(r)" class="btnRed">Delete</span>
</td>
</tr>
</table>
</div>
高级专员。
国名
州名
@*国名*@
{{$index+1}}
{{r.CountryName}
{{r.StateName}
@*{{r.CountryName}*@
编辑|
删除
您的代码中存在此问题
line$scope.UpdateData=函数(StateMaster
当你试图运行你的$scop功能,但功能是工厂的,所以你必须像这样尝试
factory.UpdateDate
在角度定义
工厂时似乎有问题,您可以尝试下面的方法
var app = angular.module('myApp', []);
app.factory('testFactory', function(){
return {
sayHello: function(text){
return "Factory says \"Hello " + text + "\"";
},
sayGoodbye: function(text){
return "Factory says \"Goodbye " + text + "\"";
}
}
});
function HelloCtrl($scope, testService, testFactory)
{
$scope.fromFactory = testFactory.sayHello("World");
}
你可以放置你的函数,然后试试它是否返回你的值什么是数据服务的代码???参见controller.js@PranayRana,我刚刚附上了我的服务代码这是compiletime错误或runtime??runtime@PranayRanacan你可以试试我建议的方法…首先尝试简单,然后选择大代码…即首先尝试调用factory方法,如果它能工作的话,那么在调用服务器端函数时,将http代码放入其中是没有问题的,因为我已经在同一个文档中创建了3-4个工厂,而且一切都很好@PranayRana@DheerajSharma-我发现问题,请参阅我的更新答案…您必须调用工厂功能,即工厂。udpatedata为$scope未更新函数数据您遇到错误我按照您所说的进行了更改,但不幸的是,它显示了错误“ReferenceError:factory未定义”现在我的表视图中没有显示任何数据@PranayRana@DheerajSharma-你一次尝试的事情太多了…我建议你一步一步来,首先按照我的建议定义工厂,然后尝试在你的控制器中使用工厂,然后进行大的改变