Javascript 从JsonResult获取值
尝试构建一个mvc项目,将上传的图像从数据库加载到旋转木马中。我遇到的问题是,这些图像将创建一个byte[]列表,并作为JsonResult从控制器发送到视图。问题是我不知道如何访问视图中JS代码中从控制器返回的每个元素。 这是我的控制器:Javascript 从JsonResult获取值,javascript,asp.net-mvc,Javascript,Asp.net Mvc,尝试构建一个mvc项目,将上传的图像从数据库加载到旋转木马中。我遇到的问题是,这些图像将创建一个byte[]列表,并作为JsonResult从控制器发送到视图。问题是我不知道如何访问视图中JS代码中从控制器返回的每个元素。 这是我的控制器: public JsonResult GetImages(string date, string sessionNumber) { int selectedSessionNumber = Convert.ToInt32(sessio
public JsonResult GetImages(string date, string sessionNumber)
{
int selectedSessionNumber = Convert.ToInt32(sessionNumber);
Guid getClassInfoId = (Guid)Session["infoId"];
var getSessionId= (from c in db.Session
where c.ClassInfoID == getClassInfoId && c.SessionNumber == selectedSessionNumber
select c.ID).ToList();
List<byte[]> getPics =new List<byte[]>();
foreach (var item in getSessionId)
{
getPics.Add((from c in db.ClassPicture where c.SessionID == item select c.PicFile).First());
}
List<string> imagesBase64 = new List<string>();
foreach (var pics in getPics)
{
var base64 = Convert.ToBase64String(pics);
imagesBase64.Add(base64);
}
return Json(imagesBase64, JsonRequestBehavior.AllowGet);
这是我的js代码:
function ShowImage() {
$.ajax({
url: '@Url.Action("GetImages", "Main")',
type: 'POST',
traditional: true,
data: { 'date': selectedDate, 'sessionNumber': selectedSession },
success: function (myData) {
var imgSrc = "data:image/jpeg;base64," + myData;
$('<div class="item"><img src=' +
imgSrc +
'><div class="carousel-caption"></div></div>').appendTo('.carousel-inner');
$('<li data-target="#carousel-example-generic" data-slide-to= 0></li>')
.appendTo('.carousel-indicators');
// }
//}
$('.item').first().addClass('active');
$('.carousel-indicators > li').first().addClass('active');
$('#carousel-example-generic').carousel(3);
// $('#carousel-example-generic').carousel();
}
});
};
将jQuery ajax数据类型指定为“JSON”,即您期望从服务器返回的数据类型。
使用$.eachmyData、functionidx、imageBase64{…}在myData上循环。