控制器获取图像:
public class PicturesSmallController : Controller
{
public ActionResult Details(int id)
{
PictureSmallManager m = new PictureSmallManager();
PictureSmall p = m.Load(id);
ImageFormat imageFormat = ImageHelper.ConvertToImageFormat(p.ContentType);
return p.Trunk != null ? File(p.Trunk, p.ContentType) : null;
}
}
和一个观点:
<script type="text/javascript">
$(document).ready(function () {
var picsSmall = $('#picturesSmall');
picsSmall.toggle();
var url = '@Url.Action("Details", "PicsSmall")';
var ai = {
id: 69
};
$.ajax({
type: "POST",
url: url,
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(ai),
success: function (returndata) {
picsSmall.append($('<img/>', {
src: returndata,
alt: 'some text'
}));
select.show('slow');
}
}
);
});
</script>
<div id="picturesSmall"></div>
<div id="picturesBig"></div>
结果我在页面上看不到任何图片,但我在 FireBug 中得到了相同的结果:
<div id="picsSmall" style="display: block;">
<img src="�����JFIF��`�`���� ...... �d��:1�g�" alt="some text">
</div>
我有两个问题:
- 我想正确显示图像。你能告诉我这里有什么问题吗?我不擅长mvc。
- 我有两个相同的图像,第一个很小,第二个很大。当用户点击小图片时,我想显示大图片。实施它的最佳方法是什么?
如果我在图片加载到客户端时理解正确,我必须将其保存在 ViewBag 中。如果正确,同步小图片和大图片的最佳方法是什么(我应该在客户端使用数组还是对象)?还有其他方法吗?抱歉,它看起来比我预期的要复杂。