如何在mvc项目中创建javascript相对动作链接

时间:2014-05-23 08:14:36

标签: javascript asp.net-mvc asp.net-mvc-4

我在mvc项目中工作。我在js文件中使用javascript模块来执行一些操作。

我在js文件中创建和使用链接。例如,访问图像文件。

var selectIcon = function() {
       return "/Images/ui/ShapefileLine16.png";
}

我想向Product controller中的action方法发送请求。

this.getProducts = function () {
     $.get('Product/GetProjducts', {  }, this.products);
}

此代码正致力于开发时间,Visual Studio IIS express。

但是当我在默认网站下的IIS虚拟目录上发布项目时,这些功能无效。找不到图像和控制器动作资源。

如何相对访问资源? (@ Url.ActionLink在MVC中工作,但我不能使用它)

1 个答案:

答案 0 :(得分:0)

硬编码网址绝不是一个好主意,您应该使用Url.Content表示静态资源,Url.Action表示控制器操作

var selectIcon = function() {
    return '@Url.Content("~/Images/ui/ShapefileLine16.png")';
}

this.getProducts = function() {
    $.get('@Url.Action("GetProducts", "Products")', {}, this.products);
}