从不同的文件夹访问母版页

时间:2016-07-13 10:46:34

标签: javascript c# asp.net master-pages

我认为这应该很容易 但不确定如何解决。

我在Main文件夹中有一个名为01.aspx的页面

01.aspx页面应继承products.master

项目root存在于products.master

如下图所示:

enter image description here

我使用波纹管代码,但没有任何工作javascripts,image和...

01.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/Products.master" AutoEventWireup="true" CodeFile="01.aspx.cs" Inherits="Main_01" %>

Products.master

    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="Products.master.cs" Inherits="Products" %>

<html>
<head id="Head1" runat="server">
    <title></title>
    <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
    <%-- product --%>
    <link rel='stylesheet' href='js/test/woocommerce-product.css' type='text/css' media='all' />
    <link rel='stylesheet' href='js/test/style-product.css' type='text/css' media='all' />
    <script type='text/javascript' src='js/test/jquery-migrate-product.min.js'></script>
    <script type='text/javascript' src='js/test/include_scripts-product.js'></script>...

2 个答案:

答案 0 :(得分:1)

您应该在主页中的src中使用ResolveUrl

脚本:

<script type="text/javascript" src='<%= ResolveUrl("js/jquery-1.11.1.min.js") %>'></script>

图:

<img src='<%= ResolveUrl("images/Logo.png")%>' />

答案 1 :(得分:0)

使用Page.ResolveClientUrl

<script type='text/javascript' src="<%= Page.ResolveClientUrl('~/js/test/jquery-migrate-product.min.js') %>" ></script>

<script type='text/javascript' src="<%= Page.ResolveClientUrl('~/js/test/include_scripts-product.js') %>" ></script>

另一种可能的解决方案:

<script type="text/javascript" 
    src="<%# ResolveUrl("~/ScriptFolder/JSFile.js") %>">

然后在Page_Load事件

下的母版页面的代码后面
Page.Header.DataBind();

它适用于jQuery和JavaScript以及CSS,只需要在ResolveUrl中更改您想要处理CSS,JavaScript,jQuery文件的路径

希望这有帮助!