【问题标题】:Image Reference issue in MVCMVC 中的图像参考问题
【发布时间】:2015-01-03 23:55:48
【问题描述】:

我正在一个视图(myChartView)中创建一个折线图并将其保存为_ChartFiles/chart01.jpg。 var filePathName = "_ChartFiles/chart01.jpg";

保存在 /views/myChartView/_ChartFiles/chart01.jpg 。现在在下一行将其引用为

<img src="@filePathName" />

但这不显示图像。引用它的正确方法是什么?

【问题讨论】:

  • 确认图片路径即可...
  • filePathName = "_ChartFiles/chart01.jpg";图像位于 /views/myChartView/_ChartFiles/chart01.jpg。参考是_ChartFiles/chart01.jpg
  • 这里引用img文件的根目录是什么?

标签: html asp.net-mvc-4 model-view-controller


【解决方案1】:
//try this one
filePathName = "myChartView/_ChartFiles/chart01.jpg";
<img src="@filePathName" />

【讨论】:

  • 用很少的解释来解释你的代码。仅代码答案不受欢迎。
【解决方案2】:

尝试将图像路径指定为

filePathName = "../views/myChartView/_ChartFiles/chart01.jpg";

filePathName = "~/views/myChartView/_ChartFiles/chart01.jpg";

【讨论】:

  • 路径文件夹是 Views/_ChartFiles/smth.jpg 我几乎可以肯定 ../ ~/ 指的是整个项目之外的东西
  • 希望这会起作用../views/myChartView/_ChartFiles/chart01.jpg
  • filePathName = "~/_ChartFiles/chart01.jpg";不工作,但有chart01.jpg驻留。
  • 我遇到了同样的问题,它对我来说是“../views/myChartView/_ChartFiles/chart01.jpg”
【解决方案3】:

您应该将其保存在“Views”之外的另一个文件夹中,因为在 MVC 中,这是一个用于 HTML 视图且没有其他内容的文件夹,请尝试将其保存在“fonts”或其他任何文件夹中, 它会是:

<img src="fonts/yourimage.jpg" />

【讨论】:

  • "虽然,不知道为什么,但使用 GIF 或 PNG 比 jpg 更受支持"
  • 当我第一次在 html 页面中添加图片时遇到问题,我在网上搜索了一下,发现很少有人说最好将 png 用于静态图片,但也许这是错误的今天
  • 我将代码更改为 并开始工作。表示变量不起作用。
【解决方案4】:

如果您希望客户端直接访问某些静态文件,则不能将它们存储在 ~/Views 文件夹中,因为默认情况下(出于安全原因)服务器不会提供此文件夹中的内容。

~/Views/Web.Config:

<handlers>
  <remove name="BlockViewHandler"/>
  <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>

尝试将文件保存在其他目录,如~/Static

【讨论】:

  • 感谢您的回答,我知道 Views 是 MVC 中的约定文件夹,但不知道为什么
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-02
  • 1970-01-01
相关资源
最近更新 更多