2008-11-14 41 views
0

我正在尝试将我的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。因此这种方法会创造更多的工作。

谢谢

回答

1

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

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

问题是, 〜/图片/卡Platform.jpg。 将转换为说c:.SiteFolder \ images \ card

它找到本地服务器上的图像,但是当这个页面转到客户端..有些xyz人打开相同的页面...在他的文件没有找到machine..at path..c:.SiteFolder \影像\卡

修正ANS是 我们应该相对图像路径站点名称给: - 像http://localhost:88/images/card 是这样的....

+0

是你确定?我没有用在年龄的URL格式,但我认为它解析为虚拟目录的根目录时,它在Web服务器上? – Tim 2011-08-21 07:15:20

相关问题