如何从控制器发送多个JSON结果来查看?

时间:2015-07-08 04:59:13

标签: javascript jquery asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

这里我从控制器发送一个项目进行查看。如何从控制器发送多个项目以查看?

  //Controller 

  public JsonResult GetQuantity(string id)
    {
       string getQuantity = "";
       string items="Hello Quantity"
       getQuantity = items.ToString(CultureInfo.InvariantCulture);
       return Json(getQuantity, JsonRequestBehavior.AllowGet);
    }


        // View

      function GetQuantity(id) {


            var targetDiv = '#divYarnDistributionViewer';
            var url = "/STSM/STSA/YarnDistribution/GetQuantity/" + id;
            var form = $("#frmYarnDistributionViewer");

            var serializedForm = form.serialize();

            $.post(url, serializedForm, function (result) {
                $("#YarnDistribution_StockQuantity").val(result);

            }, "json");

        return false;


    }

3 个答案:

答案 0 :(得分:4)

在@JDupont和@Kevin Simple的帮助下,我解决了我的问题 感谢这些家伙。

     public JsonResult GetQuantity(string id)
      {
         // Here id is not used, i will use it to get Quantity and unit for my project purpose.
        string getQuantity = "";  
        string getUnit = "";       
        string item1="Hello Quantity" 
        string item2="Hello Unit"
        getQuantity = item1.ToString(CultureInfo.InvariantCulture);
        getUnit = item2.ToString(CultureInfo.InvariantCulture);
        return Json(new { getQuantity, getUnit },JsonRequestBehavior.AllowGet);
   }


    // View

  function GetQuantity(id) {
        var targetDiv = '#divYarnDistributionViewer';
        var url = "/STSM/STSA/YarnDistribution/GetQuantity/" + id;
        var form = $("#frmYarnDistributionViewer");
        var serializedForm = form.serialize();
        $.post(url, serializedForm, function (result) {
            $("#YarnDistribution_StockQuantity").val(result.getQuantity);
            $("#YarnDistribution_StockUnit").val(result.getUnit );

        }, "json");

      return false;
    }

答案 1 :(得分:1)

是的,就像你的控制器一样:

return Json(resulst = new {Quantity = 5, Price = 285,...}, JsonRequestBehavior.AllowGet);

在你的Js中,

var Quantity = result.Quantity; var Price = result.Price;

答案 2 :(得分:1)

您可以将具有多个属性的对象作为JSON返回。 假设您有一个具有某些属性的基本对象:

public class Stock{
    public string Quantity { get; set; }

    public string Quantity1 { get; set; }
}

您可以从数据源的任何位置获取某些库存,并将数量映射到Stock对象。为简单起见,我们将创建一个硬编码的Stock对象:

public JsonResult GetAllQuantities()
{
   Stock stock = new Stock() {
       Quantity = "2",
       Quantity1 = "3"
   };
   return Json(stock, JsonRequestBehavior.AllowGet);
}

要了解如何将Json发送到客户端,您始终可以在回调ajax请求时将其打印到控制台。 请务必将您的请求从post更改为get,因为您只需提取数据。