【问题标题】:Working with images in asp.net MVC ViewMasterPage in design mode在设计模式下使用 asp.net MVC ViewMasterPage 中的图像
【发布时间】:2010-06-15 17:06:58
【问题描述】:

在设计母版页时,我向其中添加了许多图像。

我在母版页中有一个图像标签,

<img src="../../Content/Images/img19.jpg" class="profileImage" />

当我运行我的应用程序时,图像不会显示在浏览器中,因为浏览器获取的页面中的 src 路径与母版页中的相同。

即。 "../../Content/Images/img19.jpg"

但应该是“Content/Images/img19.jpg”

如果我将母版页中的 src 路径更正为

<img src="Content/Images/img19.jpg" class="profileImage" />

然后我可以在浏览器中看到图像,但在设计模式下看不到。

感谢任何帮助。

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-2


    【解决方案1】:

    使用 Asp 图片

    <asp:Image ID="Image1" runat="server" ImageUrl="~/Content/Pictures/xxx.png" />
    

    您将在设计模式下以及发布页面时看到图像。

    【讨论】:

    • 您能解释一下为什么要在 MVC 站点中引入无关的服务器控件吗?
    • 嗯.. 为什么不呢?是不是很大的问题?
    • 充其量只是不必要且令人困惑。在最坏的情况下,你不会得到你想要的结果。 MVC 不使用与传统 Web 窗体相同的回发机制或页面循环。没有理由在 MVC 框架的服务器控件中存在图像标记。当然,这个例子可以工作,因为它只是呈现为一个图像标签,但它违背了框架的目的。
    • 啊哈。谢谢。现在我明白了。
    【解决方案2】:

    如果您使用前导斜杠,它应该可以正常工作:

    <img src="/Content/Images/img19.jpg" class="profileImage" />
    

    对于其他情况,可以使用 Url.Convert 将虚拟(相对)路径转换为应用程序绝对路径,例如

    Url.Content("~/Content/Images/img19.jpg");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 2013-05-20
      相关资源
      最近更新 更多