Asp.net mvc 5 在视图中使用img标签显示静态图片

Asp.net mvc 5 在视图中使用img标签显示静态图片,asp.net-mvc-5,Asp.net Mvc 5,我正在从ASP.NET迁移到MVC,在显示简单图像时遇到问题。我有一个控制器: Public Class LinkedImageController Inherits Controller ' GET: LinkedImage Function Index() As ActionResult Return View() End Function End Class 还有一个观点: <img src="~/Views/LinkedImage

我正在从ASP.NET迁移到MVC,在显示简单图像时遇到问题。我有一个控制器:

Public Class LinkedImageController
    Inherits Controller

    ' GET: LinkedImage
    Function Index() As ActionResult
        Return View()
    End Function
End Class
还有一个观点:

<img src="~/Views/LinkedImage/grey_336x280.gif" alt="Views-LinkedImage" /><!-- Doesn't work -->
<img src="~/Content/LinkedImage/grey_336x280.gif" alt="Content-LinkedImage"/><!-- Works -->

我在Views/LinkedImage文件夹和Content/LinkedImage文件夹中有图像的副本,它们都设置为复制到输出文件夹


从视图中的注释可以看出,只有视图文件夹的Web.config中的这一行阻止了对其中文件的直接访问:

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

最好的策略是将您的静态内容放在~/content(或者您在应用程序根目录中创建的另一个文件夹,如果您愿意的话)——您不想冒险让恶意用户访问视图中的代码