2012-01-02 51 views
2

好了,所以我有一个简单的HTML输入片段:图像显示在VS设计模式,但不是在浏览器

<input id="txtFirstName" type="text" class="txtBox" runat="server" /> 

这是迷上了这个CSS属性:

.txtBox 
{ 

    background: url("/Images/lu/input_bg.png") repeat-x scroll left bottom transparent; 
    border: 1px solid #E0E6EF; 
    padding: 3px; 
    width: 275px; 

} 

图像出现在Visual Studios设计窗口中,但不是当我在浏览器中查看它时。是什么赋予了?

+2

你确定部署的站点是在根你网络服务器?可能是在本地,您将它部署到根目录,例如http:// localhost:8012/Images,但在远程站点上可能是http:// your_url/your_site/images。这是您需要使用相对网址或/your_site/images/lu/input_bg.png的一个潜在原因。 – dash 2012-01-02 23:16:19

+0

@dash我可以用你的建议解决问题。你应该把你的评论放入一个答案,所以我可以接受它。 – broke 2012-01-03 19:13:06

+0

很高兴提供帮助。请参阅我的回答,以获取有关如何使用Visual Studio中的内置Web服务器在本地镜像远程设置的建议。也没有什么可以阻止你从本地托管IIS(如果允许在本地机器上运行IIS!) – dash 2012-01-03 21:21:46

回答

1

通常,当您在本地进行开发时,Visual Studio将托管该网站http://localhost:port - 这是在为Web应用程序和网站项目使用内置Web服务器时的默认设置。

当您部署到远程站点时,它可能位于不是根站点的虚拟目录中;所以,实际上,您的远程应用程序URL将会像http://yourdomain.ext/your_site/一样改变图像的路径。解决方案是在您的路径中包含虚拟目录名称(/your_site/images/image.jpg)或使用相对路径。

我更喜欢前者,因为它可以保持所有路径一致,并且可以在Visual Studio中在本地进行模拟。

对于Web应用程序项目,请参阅解决方案属性(右键单击解决方案资源管理器中的解决方案节点并选择属性) - Web(左侧的选项卡) - 查找虚拟路径文本框并根据需要进行更改(例如, /'到'/ your_site')

对于Web站点项目,请单击解决方案资源管理器中的解决方案节点,然后查看属性对话框。最后一个选项是虚拟路径。

+0

这是个好建议。谢谢 – broke 2012-01-04 16:38:39

1

尝试更新网址。

background: url("./Images/lu/input_bg.png") repeat-x scroll left bottom transparent; 
+0

我做了,仍然不起作用 – broke 2012-01-02 22:54:35

+0

更新了我的答案,看看是否有任何区别。 – 2012-01-02 23:16:37

1

检查服务器上的路径名。你可以通过yoursite.com/Images/lu/input_bg.png访问图片吗?它真的是图像而不是图像吗?

+0

是的,我可以访问图像。 – broke 2012-01-02 23:08:18

+0

@broke然后我们需要一个链接。 – Rob 2012-01-02 23:11:54

0

我有同样的问题。我的图像没有显示在浏览器上然后我解决了它。 我将自己图片的路径的两点begining喜欢这个

<img src="../Images/icon48x48.png" alt="myLogo" width="48" height="48" /> 
0

您也可以清除浏览器的缓存。我有一个问题,我使用css文件设置DIV的背景,并且图像只会显示在Firefox或IE中。在清除Chrome缓存并重新启动网站后,图像出现。

如果我的图片位于:mysite的/ App_Themes文件/图片

和我的CSS文件是这样的App_Themes文件引用中:图片/ myfile.css

相关问题