0

我有两个 aspx 页面:Default.aspx 和 with_Image.aspx。在 Default.aspx 中,我尝试显示一个位于 with_Image.aspx 中的 jpg 图像。with_Image.aspx 显示 jpg 图像没有问题。但是 Default.aspx 不显示任何图像,只显示一个“X”。

在 Default.aspx 上:

<body>
    <form id="form1" runat="server">

    <div>
    <img src="with_Image.aspx" runat="server" id="imgCaptcha" />    
    </div>

    </form>
</body>
</html>

在 with_Image.aspx 上:

<body>
    <form id="form1" runat="server">    
        <img src="image.jpg" />
    </form>
</body>
</html>

什么不见​​了?

4

3 回答 3

0

你问的是不可能的。

您需要使用 jquery、iframe 或将其从 asp.net 流式写入您的网页,以将单独的网页插入到您的 html 代码中。

此外,您所做的并不是最佳实践,而且由于有 2 个带有 runat="server" 的表单,它会导致错误。

于 2012-07-12T23:38:45.850 回答
0

这对您不起作用,因为 img 标记的 src 属性需要是图像文件的 URL,但您已将其指向网页 (with_Image.aspx)。

于 2012-07-12T23:27:31.430 回答
0

2012年的问题,但我想我会为此提供答案。

我刚刚做了一个类似设置的项目,这是我的解决方案。

默认.aspx

<td style="width:80%">
    <img id="imgCaptcha" runat="server" />
</td>

默认.aspx.cs

imgCaptcha.Src = "Image.aspx?path" + ImagePath;

我的 Image.aspx 是空白的,但在 Image.aspx.cs 中有以下代码

string path = Request.QueryString["path"].ToString(); 
string ext = path.Substring(path.LastIndexOf("."));
if (File.Exists(path))
{
    Response.Clear();
    Response.ClearHeaders();
    switch (ext.ToUpper())
    {
        case ".JPG":
        case ".JPEG": Response.ContentType = "image/JPEG";
            break;
        case ".GIF": Response.ContentType = "image/GIF";
            break;
        case ".PDF": Response.ContentType = "application/pdf";
            break;
    }
    Response.WriteFile(path, true);
    Response.End();

这应该允许您在任何块内显示图像页面。

于 2017-05-18T22:10:35.103 回答