图像未在ASP.NET MVC中显示

fquxozlt  于 2022-12-15  发布在  .NET
关注(0)|答案(6)|浏览(171)

我试图在网页上显示一个徽标。但是,它没有在浏览器中显示。图像保存在Views/Shared文件夹中。我在Views/Shared/_Layout.cshtml中有以下代码:

<img src="~/Views/Shared/sabariimg1.jpg" alt="Sample pic" />

但是,它不会显示在浏览器中,而是呈现以下内容:

yyyllmsg

yyyllmsg1#

你可以使用@Url.Content(String fileName)来拾取源文件夹中的图像文件。

<img id="img_logo" alt="Logo" src="@Url.Content("~/Content/Images/abc.png")" />
eh57zj3b

eh57zj3b2#

图像保存在Views/Shared文件夹中。
1.文件夹Views/Shared用于查看文件(.cshtml),不用于共享数据。您可以在根目录中创建一个新文件夹,如Images,用于保存所有图像。对于徽标,最好将此文件结构设置为Images/Logos或内容文件夹,如Content/Images/Logos。这不是必需的,但却是一个 * 良好的做法 *!
1.要访问任何文件夹中的文件,您可以使用~,它是根应用程序的绝对路径。这意味着,要访问您的文件映像,您只需使用以下代码行:

<img id="mylogo" src="~/Images/Logos/myimage.jpg" alt="my image logo" class="logo" />

我认为这应该适用于任何ASP.NET Web表单或MVC Web应用程序。

2j4z5cfb

2j4z5cfb3#

我犯了一个错误,如果这能帮助任何人在这个老问题
我在开发过程中不假思索地将代码更改为:

<img src="../Images/filename.jpg" />

这种方法运行了一段时间,但有些视图无法加载图像
我把它改回了根目录的相对路径,一切都恢复正常,因为无论哪个视图导致页面重载,它总是通过根目录路径找到图像:

<img src="~/Images/filename.jpg" />
a8jjtwal

a8jjtwal4#

您说您的图像位于共享文件夹中,因此URL不正确!!您的图像应位于 Images/Logos/ 文件夹中。

zpjtge22

zpjtge225#

我的问题是通过将图像文件夹发布到服务器上来解决的(在VS 19中,鼠标右键单击文件夹-〉发布)

tjvv9vkg

tjvv9vkg6#

我也遇到过同样的问题。我在服务器上共享了“图像”文件夹。现在图像开始显示了。我不知道它有多大帮助,但它更与这个问题有关。

相关问题