【问题标题】:JavaScript Urls not correctly called after deployment to local host in IIS在 IIS 中部署到本地主机后未正确调用 JavaScript 网址
【发布时间】:2016-01-15 23:05:41
【问题描述】:

我以这种方式调用我的 url 和 javascript:'/Controller/Action',它在调试模式下运行良好。当我部署到本地主机中的 IIS 时,所有 url 都被称为 'http://localhost/MyAlias/CurrentController/DesiredController/DesiredAction' 并且我收到加载资源失败错误。使用'../Controller/Action' 时,我也会遇到相同的行为。我究竟做错了什么?

【问题讨论】:

  • 使用var url = '@Url.Action("Action", "Controller")'; 确保它们被正确生成。
  • 这不适用于 Javascript。生成的Url为:http://localhost/MyAlias/CurrentController/CurrentAction/@Url.Action(%22DesiredAction%22,%20%22DesiredController%22)
  • 好的,您必须将脚本放在外部文件中。您需要在主视图中生成值并将其传递给外部文件中的函数(或将其添加为您处理的元素的data- 属性)
  • 没错,因为当我将这种方法用于视图中的脚本时,它工作得很好。但是没有更简单的解决方案吗?因为这两种解决方案都需要大量的返工。感谢您的回复。

标签: javascript asp.net-mvc iis


【解决方案1】:

除非在剃刀视图上调用 Url.Action,否则 Javascript 不知道 Url.Action 是什么。正如斯蒂芬所提到的,您可以将它放在 data- 属性上,或者您可以创建一个 javascript 变量,该变量将通过 Url.Action 保存您生成的 Url,这应该在 razor 视图上完成,然后在您的脚本文件中您可以引用该变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2023-02-04
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多