Asp.net mvc 5 在视图中使用img标签显示静态图片
我正在从ASP.NET迁移到MVC,在显示简单图像时遇到问题。我有一个控制器: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
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(或者您在应用程序根目录中创建的另一个文件夹,如果您愿意的话)——您不想冒险让恶意用户访问视图中的代码