如何使我的图像控制图像URL动态取决于主机?

时间:2008-11-14 10:33:38

标签: asp.net

我正在尝试将我的Web应用程序转换为完全动态的系统。我要做的一件事是根据主机加载不同的徽标(在母版页模板中设置)。

但是,即使代码被点击(在page_init中),在继承母版页的任何页面上都没有显示图像 - 没有图像,没有红色x,没有。

我的代码看起来像这样(从主页,图像的路径是正确的,并从Windows资源管理器的属性窗口路径粘贴):

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
    If Request.Url.Host.Contains("localhost") Then
        Image1.ImageUrl = "C:\Users\firstname.lastname\Documents\Visual Studio 2008\WebSites\ecardsystem\images\ECard Platform.jpg."


    End If

End Sub

我知道我可以通过代码隐藏使用文字控件动态添加图像,但这意味着我需要手动设计html,当设计完成并完美时。因此,这种方法将创造更多的工作。

由于

2 个答案:

答案 0 :(得分:1)

您是否尝试过使用相对于您网站的图片的虚拟路径? Internet Explorer通常不会使用默认安全设置显示来自用户本地文件系统的图像。尝试将图像放在项目的images目录中,并将URL设置为相对路径:

Image1.ImageUrl = "~/images/Card Platform.jpg."

答案 1 :(得分:1)

问题在于此 〜/ images / Card Platform.jpg。 将变换为c:.SiteFolder \ images \ card

它在本地服务器上找到图像,但是当这个页面转到客户端时...有些xyz人打开了同一页面......在他的机器中找不到该文件..路径... c:.SiteFolder \ images \卡

更正的ans是 我们应该提供相对于网站名称的图像路径: - 像http://localhost:88/images/card 这样的事情......