【问题标题】:how to set image in mobile web in asp.net如何在asp.net的移动网络中设置图像
【发布时间】:2011-04-07 22:40:50
【问题描述】:

我为我的一位客户创建了一个移动网站。我在我的开发服务器和实时服务器上创建了一个站点。当我在开发服务器上上传图像徽标并在移动设备上检查时,图像正确显示。但是当我将相同的代码放在实时服务器上时,图像不会显示在移动设备上,而是显示在我的 PC 上。

我只是使用简单的 HTML:

<img src="/image/logo.jpg">

我什至尝试了下面的代码,在图片 URL 中加引号和不加引号。

<div style="background-image: url(/image/logo.jpg)" />

【问题讨论】:

  • 实时网站的链接会有很大帮助。

标签: asp.net image mobile-website


【解决方案1】:

您应该使用图像控件。只需从 Visual Studio 的工具箱中拖动它,然后在属性面板中设置图像即可:

<asp:Image ID="MyImage" runat="server" ImageUrl="~/image/logo.jpg" />

那么您将永远不必担心路径,因为 ASP.NET 将始终确保它正确选择图像的路径。

现在如果你只使用 HTML,你的问题就超级简单了。尝试删除第一个斜线。这应该可以解决问题。

<img src="image/logo.jpg"/>

或者如果您尝试将其添加为 div 中的背景:

<div style="background-image: url("image/logo.jpg");"></div>

为了您的参考,请直接从 MSDN 查看此页面,该页面解释了几乎所有可能的链接到网站中图像的方法:

ASP.NET Web Site Paths

如果这有帮助,请告诉我。

【讨论】:

    【解决方案2】:

    正如其他人指出的那样,问题在于图像目录的路径。我们假设图像目录位于应用程序的根目录中。前导 / 指的是您网站的根 URL。在服务器控件中使用 ~/ 将导致 asp.net 将其替换为您的应用程序的根 URL。 以下是一些可能会澄清的例子:

    www.example.com/someApp/image/logo.jpg

    /image/logo.jpg = www.example.com/image/logo.jpg
    

    链接断开。这是指您的应用程序之外的目录。如果它在您的开发服务器上工作,那么它的根目录必须有一个图像目录。

    image/logo.jpg = www.example.com/someApp/image/logo.jpg
    

    只要链接位于应用的根目录中,这将起作用。

    ~/image/logo.jpg = www.example.com/someapp/image/logo.jpg
    

    无论链接位于何处,这都将起作用。但是包含链接的控件必须设置为runat="server"。

    【讨论】:

      【解决方案3】:

      我认为您的 html 格式不适合移动设备。

      把它放在你的 html 文件的开头:

      <?xml version="1.0" encoding="UTF-8" ?>
      
      <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
      
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
      

      然后检查是否正常显示。

      同时使用另一部手机检查网站,并记住旧文件可能被您的 ISP 缓存。

      P.S: 像这样使用图片标签是可以的:

      <img alt="the image" src="/image/logo.jpg" />
      

      P.P.S:您的图片标签是否正确关闭?它缺少一个 "/"

      测试一下:

      <img src="/image/logo.jpg" />
      

      【讨论】:

      • 这并不能解决您找不到图像路径的问题。它可能使它有效,但它肯定不会修复损坏的链接。
      • @loyal:我同意,但是标签似乎在 PC 上工作,所以我认为链接没有损坏。但最好检查一下它是否坏了。
      【解决方案4】:

      要解决它,请使用以下语法:

      【讨论】:

        猜你喜欢
        • 2012-01-11
        • 2014-09-27
        • 2012-08-22
        • 1970-01-01
        • 2012-12-27
        • 2012-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多