我的Visual Studio 2010项目中有一个包含MasterPage的网站。
我在SubDirectories中有很多WebForms,但对于这个问题,我将重点关注名为 / contact 的SubDirectory。
在VS2010中, / contact 目录中的所有WebForms都显示为应该使用此页面指令代码:
<%@ MasterPageFile="~/Site.Master" ... %>
据我了解,~/
应该将页面指向根文件夹。
然而,当我转到该文件夹中的某个页面时,我收到一个Parser Error,指出MasterPage不存在,因为该页面正在尝试从此处加载MasterPage:
'/接触/的Site.Master'
如果我修改我的VS2010项目以使页面指令尝试返回到根级别,则VS项目会给我母版页错误。
不起作用:
<%@ MasterPageFile="../~/Site.Master" ... %>
也不起作用:
<%@ MasterPageFile="~/../Site.Master" ... %>
这里的诀窍是什么?
答案 0 :(得分:1)
在你最终的visualstdio中可能出现了一些错误。
我很确定你所做的是正确的。
我刚尝试创建一个asp.net项目, 添加了一个名为contact的文件夹,然后在其中拖动了default.aspx页面
这是标记文件中的代码
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
这是文件夹结构。
每件事都在我的身边。
如果您确实尝试从联系人文件夹中的页面读取母版页,并且该框架以某种方式查看内部联系人作为根,那么请尝试../的Site.Master