首页 >web前端 >js教程 >如何管理部署到子文件夹的 MVC 应用程序的 URL 修改?

如何管理部署到子文件夹的 MVC 应用程序的 URL 修改?

Barbara Streisand
Barbara Streisand原创
2024-10-29 08:10:03901浏览

How do you manage URL modifications for MVC applications deployed to subfolders?

了解应用程序子文件夹的 URL 修改

在开发部署到子文件夹的 MVC 应用程序时,必须适应应用程序子文件夹中的更改基本网址。这可确保 JavaScript 引用和 URL 在本地和部署环境中正常运行。

确定应用程序根的解决方案

要确定根 URL 并相应地修改 JavaScript,有两种方法:

简单方法:

  • 利用 JavaScript URL 中的前导“/”字符。
  • 例如,当从部署到“Jobs”子文件夹的 MVC 应用程序引用“JobsController”时,请使用 URL“/jobs/GetIndex”而不是“http://site/jobs/GetIndex”。

综合方法:

  • 利用 Razor 视图的 Url.Content 辅助方法生成应用程序基本 URL。
  • 实例化 JavaScript 命名空间对象并分配应用程序基本 URL到变量。
  • 在 JavaScript 中使用分配的变量来构造其他 URL。

使用 Razor View 和 JavaScript 的示例:

// Razor View (Layout file or specific view)
<script>
    var myApp = myApp || {}; // Create or extend the myApp namespace
    myApp.Urls = myApp.Urls || {}; // Create or extend the Urls object within myApp
    myApp.Urls.baseUrl = '@Url.Content("~")'; // Assign the app base URL to the baseUrl property
    myApp.Urls.jobIndexUrl = '@Url.Action("GetIndex","jobs")'; // Assign the specific action URL to the jobIndexUrl property
</script>

// PageSpecificExternalJsFile.js
var urlToJobIndex= myApp.Urls.jobIndexUrl; // Access the specific action URL
var urlToJobIndex2= myApp.Urls.baseUrl+"jobs/GetIndex"; // Construct a relative URL using the app base URL
</script>

AngularJS 方法:

对于 AngularJS 项目,利用 Angular 值提供程序将应用程序根 URL 注入到您的控制器、服务或指令中,确保正确的相对 URL 的可用性。

以上是如何管理部署到子文件夹的 MVC 应用程序的 URL 修改?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn