使用$从控制器返回值.参数在MVC



我使用asp.net MVC,在应用程序中,我使用以下方式更新图像:

控制器:

public ActionResult OutputHandler(int slide = 0)
        {
            FileContentResult data;
            im = object(slide) ......
            using (var memStream = new MemoryStream())
            {
                objImage1.Save(memStream, ImageFormat.Png);
                data = this.File(memStream.GetBuffer(), "image/png");
            }
            objImage1.Dispose();
            return data;
        }

我使用的视图

imge.src = '/Home/Animate?' + $.param({
  ....
 slide: parseInt(intervalCounter),
 mprType: 0,
 udm: ++udm
  });

它工作得很好,但是我需要从控制器中获取slide的值来更新视图中的变量。

ViewBag在这些情况下非常有用。这个动态变量可以用来存储来自控制器的数据,然后在视图中使用。

在控制器中可以设置

ViewBag.Slide = slide

,在视图中,你可以对这些数据做你需要做的事情

@ViewBag.Slide

我找到了这篇文章;http://www.codeproject.com/Articles/201767/Load-Base64-Images-using-jQuery-and-MVC。

将控制器更改为:

                    MemoryStream memStream = new MemoryStream();
                    objImage.Save(memStream, ImageFormat.Png);
                    var image = Convert.ToBase64String(memStream.ToArray());
                    objImage.Dispose();
                    return Json(new { success = true, base64imgage = image, slide = slide}, JsonRequestBehavior.AllowGet);

在视图中:

                                        $.ajax({
                                        url: '/Home/test',
                                        type: 'POST',
                                        data: {
                                               .....
                                        },
                                        success: function(data) {
                                            if (data.udm) {
                                         image.src = "data:image/jpg;base64,"+ data.base64imgage + udm;
                                            }
                                        },

相关内容

  • 没有找到相关文章

最新更新