我正在尝试使用javascript为我的项目中的图像获取标准路径 我使用src作为图像,如下所示
document.testImg.src = '../Images/test.png';
我们是否有类似下面的选项让路径保持一致?
document.testImg.src = '@Url.Content(~/Images/test.png)';
<img name="testImg">
提前致谢
答案 0 :(得分:2)
你可能知道你不能在Javascript中使用Razor,除非该脚本是Razor视图的一部分。这不是“最性感”的方式,但一种方法是在布局视图/母版页中使用“全局”javascript URL变量。
例如,在您的共享布局中,您将拥有一个变量:
var AppUrl = '../Content/Images/';
然后在所有视图中,您可以使用此一致变量:
var myImageUrl = AppUrl + 'image.jpg';
P.S。不想使用变量?将功能粘贴在共享视图中:
例如,在您的共享布局中,您将拥有一个功能:
function AppURL(url)
{
return '../Content/Images/' + url;
}
然后在你的所有观点中你都可以使用它:
var myImageUrl = AppUrl('image.jpg');
答案 1 :(得分:0)
我找到了一个很好的解决方案。我使用t4mvc作为我的项目并更新了我所有的魔法字符串。我认为这个解决方案对于路径问题很少的开发人员很有用。
答案 2 :(得分:0)
通过这种方式,我们可以使用Url.Content()
我添加的一些示例代码,可以帮助其他人。
<p>This link goes to my `<a href="@Url.Content("~/")">`Application home page</a>.</p>
<p>Now let’s link to a view `<a href="@Url.Content("~/Controller/Action")">`in the Controller/Action directory</a>.
Url.Content("~/img/myImage.png")
<img src= "@Url.Content(Model.ImagePath)" alt="Sample Image" style="height:50px;width:100px;"/>