首先,我是Angular JS的新手并试图探索这种语言,所以我不流利......:)
我尝试通过收集从URL传递的数据,从Web服务对存储过程进行简单调用。没有数据被提取。
我知道我搞砸了某个地方,你能不能指出我在哪里。 :)
这将是我的网址:
http://localhost:2752/ProjectName/PageName.aspx?Id=24
这是我的脚本,我从URL获取数据并将其传递给服务:
/// <reference path="../angular.min.js" />
window.params = function () {
var params = {};
var param_array = window.location.href.split('?')[1].split('&');
for (var i in param_array) {
x = param_array[i].split('=');
params[x[0]] = x[1];
}
return params;
} ();
var app = angular.module("myModule", []);
app.controller("myController", function ($scope, $http) {
$http.post('Services/GetCompletePropDetailsService.asmx/GetPropertyDetailsList' ,window.params.Id)
.then(function (response) {
$scope.PropertyDetailsListitem = response.data;
});
});
这是我的服务:
[WebMethod]
public void GetPropertyDetailsList(String submittedData)
{
List<PreviewDataClass> listPropertyDetails = new List<PreviewDataClass>();
string cs = ConfigurationManager.ConnectionStrings["DBPCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand cmd = new SqlCommand("spPreviewDataUserId", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter username = new SqlParameter("@UserId", submittedData);
cmd.Parameters.Add(username);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
PreviewDataClass PropertyDetails = new PreviewDataClass();
PropertyDetails.FullName = Convert.ToString(rdr["FullName"]);
listPropertyDetails.Add(PropertyDetails);
}
}
JavaScriptSerializer js = new JavaScriptSerializer();
Context.Response.Write(js.Serialize(listPropertyDetails));
}
赞赏任何更好的方法来实现同样的目标