【问题标题】:img tag with Resource Files and asp:literal带有资源文件和 asp:literal 的 img 标签
【发布时间】:2013-06-01 04:19:11
【问题描述】:

我遇到了一个似乎无法解决的奇怪问题。我正在使用 WebForms 和 .NET 4.5。

我的根目录的图像文件夹中有一堆图像。这些图像每个都在对应于某个本地的文件夹中。看起来像这样。

Root

    -Images

        -en-US

            -flag.jpg

        -es-MX

            -flag.jpg

我正在使用资源文件来存储图像路径。

现在实际的问题是我不确定如何使用相对路径来定义 img src 以及资源文件。通常我可以将 runat="server" 放在 img 标签中,这样我就可以指定 src="~/somepath 但由于我使用 asp 文字作为源代码的一部分,它似乎无法正确解释标签。如果我不要使用 ~ (root),一旦用户更改到不在根目录中的页面,资源就不会加载,因为它会尝试根据新位置加载它。例如:someurl/UserPages/Images /flag.jpg

这是我的 img 标签的样子:

<img src="~/Images/<asp:Literal ID="test" meta:resourcekey="test" runat="server" Text="" />" runat="server" alt="Flag" height="42" width="42" />

这根本不起作用,因为它将路径解释为

http://ipaddr:port/~/Images/

我已经尝试使用 jQuery 来设置 img 标签的 src 并没有解决问题。

这些是我尝试使用的一些知识库文章来解决我的问题,但没有成功。

http://msdn.microsoft.com/en-us/magazine/cc163566.aspx

HTML img and ASP.NET Image and relative paths

How to use image resource in asp.net website?

http://forums.asp.net/t/1677822.aspx/1

Image localization in asp.net

提前感谢您提供的任何帮助。

编辑:

我尝试将图像放入资源文件本身,但经过一番挖掘后,我发现这对于 Web 应用程序来说不是一个好的解决方案。仍然坚持我原来的问题。 :(

还是没有运气!

【问题讨论】:

    标签: c# asp.net .net image localization


    【解决方案1】:

    你可以这样解决:

    your_asp_literal.Text = "<img src='"+ GetGlobalResourceObject("your_resx_file", "your_picture_path").ToString() + "' alt='your_alt' height='42' width='42'/>";
    

    【讨论】:

      猜你喜欢
      • 2018-03-05
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 2018-06-23
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      • 2016-08-04
      相关资源
      最近更新 更多