首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

ASP.NET WebForms 加入路由後靜態 JS 文件無法載入的解決方案

     編輯:程式設計綜合問答

問題現象

原 URL:https://localhost/watch.aspx?id=123,加入 Routing 後變為 https://localhost/watch/123,導致頁面中引用的 JS、CSS、圖片等靜態資源全部 404,函數報「未定義」。

根本原因

相對路徑(如 js/xxx.js、../js/xxx.js)在路由模式下會相對於虛擬目錄解析,而非網站根目錄。

統一修正規則

  • .html / .js / .aspx:將路徑改為根目錄相對路徑,即以 / 開頭。
    例:js/xxx.js → /js/xxx.js,$('#top').load('../head/head.html') → $('#top').load('/head/head.html')
  • .aspx.cs (C#):使用 ~ 符號標識應用程序根目錄。
    例:img.Src = "images/NEW.png" → img.Src = "~/images/NEW.png"

此法不寫死域名/IP,適應部署環境變更。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved