2015-10-17 67 views
0

我以这种方式调用我的url和javascript:'/Controller/Action',它在调试模式下工作正常。当我在本地主机上部署到IIS时,所有网址都被称为'http://localhost/MyAlias/CurrentController/DesiredController/DesiredAction',并且我收到了无法加载资源错误。使用'../Controller/Action'时,我也会得到相同的行为。我究竟做错了什么?在部署到IIS中的本地主机后,未正确调用JavaScript Url

+0

使用'var url ='@ Url.Action(“Action”,“Controller”)';'确保它们被正确生成。 –

+0

这不适用于Javascript。生成的Url为:'http://localhost/MyAlias/CurrentController/CurrentAction/@Url.Action(%22DesiredAction%22,%20%22DesiredController%22)' –

+0

OK,您必须将脚本放在外部文件中。您需要在主视图中生成值并将其传递给外部文件中的函数(或者将其添加为您处理的元素的'data-'属性) –

回答

0

JavaScript不知道Url.Action是什么,除非在剃须刀视图上调用Url.Action。正如斯蒂芬所说,你可以把它放在数据属性上,或者你可以创建一个JavaScript变量,通过Url.Action来保存你生成的Url,这应该在剃刀视图上完成,然后在你的脚本文件中你可以引用该变量。