如何从控制器发送多个 JSON 结果进行查看?
How to send multiple JSON results from controller to view?
这里我从控制器发送一个项目来查看。如何从控制器发送多个项目以查看?
//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;
}
是的,就像在你的控制器中这样:
return Json(resulst = new {Quantity = 5, Price = 285,...}, JsonRequestBehavior.AllowGet);
在你的 Js 中,
var 数量 = result.Quantity;
var 价格 = result.Price;
您可以 return 具有多个属性的对象,如 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,因为您只是在获取数据。
在@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;
}
这里我从控制器发送一个项目来查看。如何从控制器发送多个项目以查看?
//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;
}
是的,就像在你的控制器中这样:
return Json(resulst = new {Quantity = 5, Price = 285,...}, JsonRequestBehavior.AllowGet);
在你的 Js 中,
var 数量 = result.Quantity; var 价格 = result.Price;
您可以 return 具有多个属性的对象,如 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,因为您只是在获取数据。
在@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;
}