我需要能够把图像相对于视图的路径,但我不知道如何做到这一点,因为我没有MVC路由很好的把握:在Asp.Net MVC中路由相对于视图的图像?
如果我有像这样的路线:
routes.MapRoute(
"Parameter",
"{controller}/{action}/{lang}/{prod}",
new { controller = "Manuals", action = "Product", lang = "en-US", prod = "productname" }
然后我尝试使用相对路径的图片:
<embed class="images src="@Url.Content("images/sampleimage.svg")"></embed>
这给了我一个路径(如果我在网上检查检查吧),看起来像这个: src =“http:// localhost/Manuals/Pr oduct/en-US/images/sampleimage.svg“
这不是图像的位置。它实际位于“http://localhost/Views/Manuals/en-US/productname/images/sampleimage.svg”
因此,基本上,视图文件夹,然后没有像操作名称(产品) 。那么如何在这个环境中使用相对于视图的路径?该操作成为url的一部分,但没有像操作方法那样命名的实际文件夹,并且图像也将位于Views文件夹下,该文件夹不是url的一部分...此外,url中的最后部分路径(产品名称)在图像路径中似乎没有出现,它似乎被解释为一个id或某个东西,因为我只使用一个操作方法来为基于参数lang和prod的视图提供服务?
有没有办法像这样放置图像,并使用像“images/imagename.svg”之类的相对路径?或者我只是误解MVC中的路由?
我需要做这样的简化添加内容是大规模和XSL转换的结果...
编辑:对不起,我有一些不正确的,给我的结果的URL。现在应该修复,以反映我有什么。