V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
peng0416
V2EX  ›  .NET

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

  •  
  •   peng0416 · 2020-02-24 12:01:51 +08:00 · 2487 次点击
    这是一个创建于 1732 天前的主题,其中的信息可能已经有所发展或是发生改变。
    7 条回复    2020-02-25 17:16:21 +08:00
    peng0416
        1
    peng0416  
    OP
       2020-02-24 12:03:31 +08:00
    <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  
       2020-02-24 12:56:37 +08:00
    波浪线是给服务端用来识别根目录的,建议使用服务端标签替换引用,例如:
    <link href="<%=ResolveUrl("~/bootstrap/css/bootstrap.min.css") %>" rel="stylesheet" />
    sun1991
        3
    sun1991  
       2020-02-24 13:12:37 +08:00
    波浪线是在 server 端解析替换掉的, 你用在 client 端没用. asp.net 内置的 helper 里面才能用.
    peng0416
        4
    peng0416  
    OP
       2020-02-25 11:13:13 +08:00
    @sun1991 我是在 Visual Studio 中智能提示打出来的,iis 没有解析它,然后这个问题是突然之间出现的,并且在其他项目中这个波浪线是没有问题的。
    peng0416
        5
    peng0416  
    OP
       2020-02-25 11:14:58 +08:00
    @opengps IIS 没有识别这个波浪线,而是直接把“~/lib/jquery/dist/jquery.js”原封不动的输出到客户端了(在浏览器 F12 中就可以看到包括“~”的路径,然后 404 )
    peng0416
        6
    peng0416  
    OP
       2020-02-25 12:24:09 +08:00
    问题已经查出,是因为在"_ViewImports"中使用了 TagHelperFrefix 造成的,破案。。。。
    Soar360
        7
    Soar360  
       2020-02-25 17:16:21 +08:00
    如果是 .cshtml 可以加上 asp-append-version="true"
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3396 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:26 · PVG 19:26 · LAX 03:26 · JFK 06:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.