如何使用ajax返回IEnumerable的值。这是我的剧本:
$.ajax({
type: "get", url: "street", data: { a: value2 },
success: function (data) {
alert(data);
}
这是我的控制器方法:
[HttpGet]
public string street(string a)
{
EmlakServicesClient client = new EmlakServicesClient();
client.ClientCredentials.UserName.UserName = "service_test";
client.ClientCredentials.UserName.Password = "..";
client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.None;
Street[] list =client.GetStreet(Convert.ToInt32(a));
return ("" + list.FirstOrDefault().StreetName);
}
正如你在顶部看到的那样,我获得了价值,但是使用First Value,我怎么能从IEnumarable获得所有这些值呢?
答案 0 :(得分:3)
您应该使用JSON:
return Json(list, JsonRequestBehavior.AllowGet);
您需要更改操作方法以返回ActionResult
。
答案 1 :(得分:0)
将集合返回为JSON
public ActionResult GetsomeItems(int someId)
{
var someCollection=GetListOfItemsFromSomeWhere(someId)
return Json(someCollection,JsonRequestBehaviour.AllowGet);
}
答案 2 :(得分:0)
我在谷歌搜索时如何使用ASP.NET Web API 2返回JSON结果时绊倒了。如果其他人正在寻找相同的解决方案,这里的解决方案对我有用:
// GET: api/Users
public HttpResponseMessage Get()
{
var users = UserManager.Get(); // returns IEnumerable
return Request.CreateResponse(HttpStatusCode.OK, users);
}
您可以详细了解HttpResponseMessage here。