aspx 页面中的 Web 方法未被执行
Web Method in aspx page not getting executed
我正在尝试在页面加载时发出 ajax 请求 itself.I 我正在使用 angular js $http 服务从 Web 方法获取 Json 数据出现在我的 User.aspx.cs
页面中。
我的网络方法如下:
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public static List<Users> GetUsers()
{
DBUtil objUtils = new DBUtil(); //This is my class for db connection
List<Users> list = new List<Users>();
string strQuery = "select * from TM_Users";
DataTable dt = objUtils.GetDataTable(strQuery);
for (int i = 0; i < dt.Rows.Count; i++)
{
list.Add(new Users {FullName=dt.Rows[i]["FullName"].ToString(),
UserName=dt.Rows[i]["UserName"].ToString(),
Password=dt.Rows[i]["Password"].ToString(),
phNum=dt.Rows[i]["MobileNo"].ToString(),
EmailId=dt.Rows[i]["EmailAddress"].ToString(),
Usertype=dt.Rows[i]["UserType"].ToString(),
CenterId=dt.Rows[i]["HealthCenterID"].ToString()
});
}
return list;
}
Web 没有问题method.When 我尝试在 $http 的帮助下调用 Web 方法,$http 是在一个单独的 js 文件中写在控制器中的 Control.js
。我这里的功能是,我正在使用 ng 网格,因此将该网格与数据库中的数据绑定。
代码如下:
var app = angular.module("myApp", ["ngGrid"]);
app.controller('myCtrl', function ($scope, $http, $location) {
//var myData = $http.get("User.aspx/GetUsers");
$scope.location = $location;
var url1 = "User.aspx/GetUsers";
var myData;
$http.get(url1).success(function (data,status,headers) {
myData = data;
}).error(function (err) {
console.log(err);
})
$scope.gridOptions = {
data: 'myData'
};
});
当我调试时,我注意到成功处理程序正在获得 executed.But aspx.cs 页面上的 Web 方法未获得 execute.The 响应,我在成功处理程序数据中收到的是.aspx 网页的整个 html
感谢您的帮助!!
Webmethod 应该是 static
方法。
稍微更改一下您的 http get 调用,例如 this.I 添加了内容类型、空数据对象和响应类型 json。
var app = angular.module("myApp", ["ngGrid"]);
app.controller('myCtrl', function ($scope, $http, $location) {
var request =
{
method: "GET",
url: "User.aspx/GetUsers",
data: {},
headers: { "Content-Type": "application/json" },
responseType: 'json'
}
$http(request).then(function (data,status,headers) {
myData = data;
}).error(function (err) {
console.log(err);
})
$scope.gridOptions = {
data: 'myData'
};
});
});
我正在尝试在页面加载时发出 ajax 请求 itself.I 我正在使用 angular js $http 服务从 Web 方法获取 Json 数据出现在我的 User.aspx.cs
页面中。
我的网络方法如下:
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public static List<Users> GetUsers()
{
DBUtil objUtils = new DBUtil(); //This is my class for db connection
List<Users> list = new List<Users>();
string strQuery = "select * from TM_Users";
DataTable dt = objUtils.GetDataTable(strQuery);
for (int i = 0; i < dt.Rows.Count; i++)
{
list.Add(new Users {FullName=dt.Rows[i]["FullName"].ToString(),
UserName=dt.Rows[i]["UserName"].ToString(),
Password=dt.Rows[i]["Password"].ToString(),
phNum=dt.Rows[i]["MobileNo"].ToString(),
EmailId=dt.Rows[i]["EmailAddress"].ToString(),
Usertype=dt.Rows[i]["UserType"].ToString(),
CenterId=dt.Rows[i]["HealthCenterID"].ToString()
});
}
return list;
}
Web 没有问题method.When 我尝试在 $http 的帮助下调用 Web 方法,$http 是在一个单独的 js 文件中写在控制器中的 Control.js
。我这里的功能是,我正在使用 ng 网格,因此将该网格与数据库中的数据绑定。
代码如下:
var app = angular.module("myApp", ["ngGrid"]);
app.controller('myCtrl', function ($scope, $http, $location) {
//var myData = $http.get("User.aspx/GetUsers");
$scope.location = $location;
var url1 = "User.aspx/GetUsers";
var myData;
$http.get(url1).success(function (data,status,headers) {
myData = data;
}).error(function (err) {
console.log(err);
})
$scope.gridOptions = {
data: 'myData'
};
});
当我调试时,我注意到成功处理程序正在获得 executed.But aspx.cs 页面上的 Web 方法未获得 execute.The 响应,我在成功处理程序数据中收到的是.aspx 网页的整个 html
感谢您的帮助!!
Webmethod 应该是 static
方法。
稍微更改一下您的 http get 调用,例如 this.I 添加了内容类型、空数据对象和响应类型 json。
var app = angular.module("myApp", ["ngGrid"]);
app.controller('myCtrl', function ($scope, $http, $location) {
var request =
{
method: "GET",
url: "User.aspx/GetUsers",
data: {},
headers: { "Content-Type": "application/json" },
responseType: 'json'
}
$http(request).then(function (data,status,headers) {
myData = data;
}).error(function (err) {
console.log(err);
})
$scope.gridOptions = {
data: 'myData'
};
});
});