0

如何使用 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);


        }

正如您在顶部看到的那样,我得到了价值,但有了第一个价值,那么我怎样才能从 IEnumarable 获得这些所有值?

4

3 回答 3

3

您应该使用 JSON:

return Json(list, JsonRequestBehavior.AllowGet);

您需要将您的操作方法更改为 return ActionResult

于 2012-09-14T13:06:35.757 回答
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的更多信息。

于 2015-02-19T16:58:58.920 回答
0

将集合返回为JSON

public ActionResult GetsomeItems(int someId)
{
  var someCollection=GetListOfItemsFromSomeWhere(someId)
  return Json(someCollection,JsonRequestBehaviour.AllowGet);
}
于 2012-09-14T13:06:35.953 回答