peng0416
V2EX  ›  .NET

关于 ASP.NET 项目中路径中的“~”波浪线无法解析的问题

  •  
  •   peng0416 · Feb 24, 2020 · 3323 views
    This topic created in 2278 days ago, the information mentioned may be changed or developed.
    7 replies    2020-02-25 17:16:21 +08:00
    peng0416
        1
    peng0416  
    OP
       Feb 24, 2020
    <script type="text/javascript" src="~/lib/jquery/dist/jquery.js"></script>
    <script type="text/javascript" src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
    <link href="/lib/bootstrap/dist/css/bootstrap.css" rel="stylesheet" />
    <link href="/lib/bootstrap/dist/css/bootstrap-theme.css" rel="stylesheet" />

    路径最前面加了~的就会报 404
    opengps
        2
    opengps  
       Feb 24, 2020
    波浪线是给服务端用来识别根目录的,建议使用服务端标签替换引用,例如:
    <link href="<%=ResolveUrl("~/bootstrap/css/bootstrap.min.css") %>" rel="stylesheet" />
    sun1991
        3
    sun1991  
       Feb 24, 2020
    波浪线是在 server 端解析替换掉的, 你用在 client 端没用. asp.net 内置的 helper 里面才能用.
    peng0416
        4
    peng0416  
    OP
       Feb 25, 2020
    @sun1991 我是在 Visual Studio 中智能提示打出来的,iis 没有解析它,然后这个问题是突然之间出现的,并且在其他项目中这个波浪线是没有问题的。
    peng0416
        5
    peng0416  
    OP
       Feb 25, 2020
    @opengps IIS 没有识别这个波浪线,而是直接把“~/lib/jquery/dist/jquery.js”原封不动的输出到客户端了(在浏览器 F12 中就可以看到包括“~”的路径,然后 404 )
    peng0416
        6
    peng0416  
    OP
       Feb 25, 2020
    问题已经查出,是因为在"_ViewImports"中使用了 TagHelperFrefix 造成的,破案。。。。
    Soar360
        7
    Soar360  
       Feb 25, 2020
    如果是 .cshtml 可以加上 asp-append-version="true"
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5694 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 02:31 · PVG 10:31 · LAX 19:31 · JFK 22:31
    ♥ Do have faith in what you're doing.