C# asp.net fancybox加载映像错误

C# asp.net fancybox加载映像错误,c#,asp.net,fancybox,C#,Asp.net,Fancybox,下面是google chrome的fancybox iframe的输出 这是IE的fancybox ifrom的输出 以下是标记页面代码: <script type="text/javascript"> $(document).ready(function () { /* * Examples - images */ $("[id*=img]").fancybox(); $('.

下面是google chrome的fancybox iframe的输出

这是IE的fancybox ifrom的输出

以下是标记页面代码:

   <script type="text/javascript">
    $(document).ready(function () {
        /*
        *   Examples - images
        */

        $("[id*=img]").fancybox();

        $('.fancyframe').fancybox({
            'titlePosition': 'inside',
            'type': 'iframe',
            'width': 1024,
            'height': 768
        });
    });
</script>
<a class="fancyframe" href="/imgLoader.aspx"><img src="/imgLoader.aspx"></a>

为什么chrome只加载字节数组而不是图像,而IE可以显示图像以及如何修复此错误?

因为您只是发送字节数组,而没有告诉浏览器它是什么

protected void Page_Load(object sender, EventArgs e)
        {
               byte[] a = Common.GetImage();
               Response.BinaryWrite(a);
        }
尝试添加:

Response.ContentType = "image/jpeg";
在调用Response.BinaryWrite之前

编辑:仅供参考,我通常在写出图像之前调用
Response.Clear()
,然后在之后调用
Response.End

因此:


为什么??只是为了确保ASP.NET没有发送到浏览器的任何其他垃圾,这可能会混淆它

文件
imgLoader.aspx
是否返回图像以外的任何内容?JFK:不,它只返回该图像的字节数组..通过添加Response.ContentType=“image/jpeg”解决了问题;对于响应页面,另一种选择是在fancybox脚本中添加
“type”:“image”
(而不是
iframe
)。
Response.ContentType = "image/jpeg";
protected void Page_Load(object sender, EventArgs e)
        {
               Response.Clear();
               byte[] a = Common.GetImage();
               Response.BinaryWrite(a);
               Response.End();
        }