ASP.NET Core

时间:2017-12-15 11:17:18

标签: asp.net-core asp.net-core-mvc asp.net-core-2.0

我在虚拟应用程序名称下安装了ASP.NET Core应用程序。该网站的URL如下:

http://10.0.0.253/ApplicationName/

问题是所有重定向和静态文件路径都忽略了应用程序名称。如果我的剃刀文件中有以下行:

<link href="~/css/Custom.css" rel="stylesheet">

输出将是http://10.0.0.253/css/Custom.css而不是http://10.0.0.253/ApplicationName/css/Custom.css

问题是这个应用程序将在许多不同的虚拟应用程序下执行,这意味着我无法通过键入正确的URL来修复URL,因为根据将要执行的应用程序,生成的URL将是不同的。 在ASP.NET MVC 5中,我可以使用以下代码获取虚拟应用程序名称:

string VPath = Request.ApplicationPath;

有没有办法在ASP.NET Core中获取此值?

1 个答案:

答案 0 :(得分:1)

有两种方法可以解决您的问题(通过代码,如上所述,可能还有基础设施的其他解决方案):

  1. 使用Url.Content方法:
  2. <link rel="stylesheet" href="@Url.Content("~/css/Custom.css")" />
    
    1. 使用LinkTagHelper(例如,通过指定asp-append-version属性truefalse):
    2. <link rel="stylesheet" href="~/css/Custom.css" asp-append-version="true" />