asp的图像:使用相对路径显示ImageButton,但不使用绝对路径显示

时间:2012-08-22 13:30:29

标签: asp.net imagebutton

<asp:ImageButton runat="server" ID="cal_btn1"
        AlternateText="image" ImageUrl="~/Images/calendar_icon1.png"/>

使用上面的代码显示图像,但我不知道当我使用绝对路径时会发生什么 -

<asp:ImageButton runat="server" ID="cal_btn1"
        AlternateText="image" ImageUrl="C:\Users\adwivedi\Documents\Visual Studio 2010\WebSites\WebSite1\Images\calendar_icon1.png"/>

我用'\\'替换'\',但仍然没有变化。知道什么是错的吗?谢谢!

1 个答案:

答案 0 :(得分:3)

它不起作用,因为你必须使用网址,而不是物理路径。

  

使用ImageUrl属性指定要在Image控件中显示的图像的URL。您可以使用相对或绝对URL。相对URL将图像的位置与网页的位置相关联,而不指定服务器上的完整路径。该路径相对于网页的位置。这样可以更轻松地将整个站点移动到服务器上的另一个目录,而无需更新代码。绝对URL提供完整路径,因此将站点移动到另一个目录需要您更新代码。

绝对网址

<asp:ImageButton runat="server" ID="cal_btn1"
    AlternateText="image" ImageUrl="http://mydomain/Images/calendar_icon1.png"/>

相对网址

<asp:ImageButton runat="server" ID="cal_btn1"
    AlternateText="image" ImageUrl="Images/calendar_icon1.png"/>

应用程序根相对URL

<asp:ImageButton runat="server" ID="cal_btn1"
    AlternateText="image" ImageUrl="~/Images/calendar_icon1.png"/>

我建议你看看有关asp.net路径的this MSDN文章。