首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从JsonResult获取值

从JsonResult获取值
EN

Stack Overflow用户
提问于 2017-10-09 21:42:24
回答 1查看 42关注 0票数 0

试图构建一个mvc项目,该项目将上传的图像从数据库加载到旋转木马中。我遇到的问题是,这些图像将创建一个byte[]列表,并将其作为一个JsonResult从控制器发送到视图。问题是,我不知道如何访问视图中JS代码中的控制器返回的每个元素。这是我的控制器:

代码语言:javascript
复制
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密码:

代码语言:javascript
复制
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();
                          }  
                    });
            };
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-09 23:28:28

  1. 将jQuery ajax dataType指定为'JSON‘(您期望从服务器返回的数据类型)。
  2. 使用myData循环$.each(myData, function(idx, imageBase64) { ... })
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46655407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档