路径无法访问asp.net中root上的css或js文件

时间:2012-12-18 11:37:53

标签: c# asp.net path resolveurl

当我尝试从子文件夹en/Default.aspx文件访问它时,我无法获得CSS或JS文件的正确路径。

我有以下文件夹结构

Default.aspx
  en/Default.aspx
  en/MasterPage.master
  ar/Default.aspx
  ar/MasterPage.master
scripts/slider/script.js
styles/slider-en.css
scripts/slider/jquery.easing.js

en/Default.aspx文件中的代码

<%@ Page Title="" Language="C#" MasterPageFile="~/en/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
<%@ Register Src="~/en/UserControls/ucSliderHP.ascx" TagName="ucSlider"  TagPrefix="uc"%>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"></asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
<script src="../scripts/slider/jquery.easing.js" type="text/javascript"></script>
<script src="../scripts/slider/script.js" type="text/javascript"></script>
<link href="<%= Page.ResolveUrl("./styles/slider-en.css") %>" rel="stylesheet" type="text/css" />

<div id="content-container-750">
    <!-- Slider   -->
    <!-- Sidebar   -->
<div id="sidebar-container-240"></div>
<!-- Sidebar   -->
    <div id="Slider-Wrapper-750x300">
       <uc:ucSlider ID="NewsSlider" runat="server" />       
    </div>
     <!-- Slider   -->

      <!-- Banner   -->
      <div id="content-Banner-750x100HP">
      </div>
      <!-- Banner   -->
      <!-- Article   -->
      <div id="article-wrapperHP">
      </div>
      <!-- Article   -->
</div>

</asp:Content>

当我使用../路径时,它总是将路径返回为  http://localhost:49831/en/scripts/slider/script.js

当我使用`Page.ResolveURL或ResolveURL时,它将路径视为

http://localhost:49831/website/en/Default.aspx?language=en-us&issue=5

我不知道我该怎么办?我试过../../它也不起作用

3 个答案:

答案 0 :(得分:0)

尝试使用ResolveUrl:

<script src="<%=ResolveUrl("~/scripts/slider/jquery.easing.js")%>"  type="text/javascript"></script>

而不是

<script src="../scripts/slider/jquery.easing.js" type="text/javascript"></script>

答案 1 :(得分:0)

您还可以添加代字号(~)和runat="server"以使ASP .NET根据根目录解析网址。

e.g。

<link href='~/styles/slider-en.css' rel="stylesheet" type="text/css" runat="server"/>

See other options on this question

答案 2 :(得分:0)

You can Use
    /scripts/slider/jquery.easing.js
<script src="/scripts/slider/jquery.easing.js" type="text/javascript"></script>


"/"  

表示root。