如何在mvc项目中创建javascript相关操作链接

如何在mvc项目中创建javascript相关操作链接,javascript,asp.net-mvc,asp.net-mvc-4,Javascript,Asp.net Mvc,Asp.net Mvc 4,我在mvc项目中工作。我在js文件中使用javascript模块来执行一些操作 我正在创建和使用js文件中的链接。例如,访问图像文件 var selectIcon = function() { return "/Images/ui/ShapefileLine16.png"; } 我想向Product controller中的一个动作方法发送请求,如下所示 this.getProducts = function () { $.get('Product/GetProjduc

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

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

var selectIcon = function() {
       return "/Images/ui/ShapefileLine16.png";
}
我想向Product controller中的一个动作方法发送请求,如下所示

this.getProducts = function () {
     $.get('Product/GetProjducts', {  }, this.products);
}
这些代码是在开发时使用的,VisualStudioIIS express

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


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

硬编码Url从来都不是一个好主意,应该用于静态资源和控制器操作

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

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

我可以在代码中使用@Url helper,但在js文件中会出现错误。@bookmarker如果您在单独的js文件中使用此代码,则需要从视图中将Url作为参数传递。这一点已经讨论了很多次,因此。。。只需按关键字进行简单搜索即可解决您的问题。