Asp.Net MVC亲属路径为两个应用程序指向相同的代码库

时间:2016-01-21 05:43:42

标签: asp.net-mvc

您好,我在两台服务器上发布应用程序时感到困惑。两者的路径如下: - http://www.myapp.com/http://www.myapp2.com/myapp/

因此,为了包含任何脚本,CSS或图像,我必须给出两条路径: -

ARM

有什么办法让我不需要两次放脚本。 我试过了: -

   <img src="~/images/ajax-loader.gif" alt="loading" />  and
   <img src="~/myapp/images/ajax-loader.gif" alt="loading" />

这有效,但我不确定的方式和原因。 请解释或提出任何其他建议。

由于

1 个答案:

答案 0 :(得分:0)

ASP.NET MVC应用程序中相对路径问题的理想解决方案是使用T4MVC包。 T4MVC包现在成为处理MVC应用程序中相对路径和魔术字符串的标准。

  • 在MVC应用程序中安装T4MVC nuget
  

安装包T4MVC

  • 安装完成后,您将能够在解决方案中看到T4MVC.tt文件。
  • 右键单击,然后说“运行自定义工具”
  • 这应该为应用程序中的所有静态资源创建常量。

完成后,您将能够访问以下资源:

<img src="@Links.Content.Images.ajax_loader_gif" alt="loading" />

是的,您不需要输入,它只是智能,可以为您提供选择的资源。

一件小事,您可能需要将图像移动到应用程序中的“Content”文件夹,因为据我所知,T4MVC不会为文件夹创建常量(内容,脚本和软件包除外) )。但是,是将图像放入内容文件夹中的标准。

谈论好处 - - 您无需担心部署路径。 (这是你最初的担忧) - 此外,这会为应用程序中的所有视图,控制器和操作创建常量(以及图像,脚本,包等),这样您就可以摆脱魔法字符串。

有关T4MVC的更多信息 - https://github.com/T4MVC/T4MVC/wiki/Documentation