Url.Content的javascript路径

时间:2013-05-16 20:07:07

标签: javascript asp.net-mvc

我正在尝试使用javascript为我的项目中的图像获取标准路径 我使用src作为图像,如下所示

document.testImg.src = '../Images/test.png';

我们是否有类似下面的选项让路径保持一致?

document.testImg.src = '@Url.Content(~/Images/test.png)';


<img name="testImg">

提前致谢

3 个答案:

答案 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;"/>