2

我的站点根目录中有一个 asp.net 母版页。我在母版页的目录“/myfolder”中有一个页面:

 <%@ Page Title="" Language="C#" MasterPageFile="../Master.master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="myproject.TimelapseDefault" %>
 <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
 <p>

这些文件看起来像:

/Master.master /myfolder/default.aspx

当我将它上传到我的(非专用 Godaddy iis 7)服务器时,为什么会出现此错误,但它可以在 localhost 上运行?:解析器错误描述:解析服务此请求所需的资源时发生错误。请查看以下特定的解析错误详细信息并适当地修改您的源文件。

解析器错误消息:文件“/timelapserpro/Master.master”不存在。

源错误:

第 1 行: <%@ Page Title="" Language="C#" MasterPageFile="~/Master.master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="myproject.TimelapseDefault" %>

第 2 行: <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
第 3 行: <p>

所有页面都在同一个解决方案中。

4

2 回答 2

4

您的远程服务器没有将该文件夹设置为 Web 应用程序,因此当您使用“~”引用它时,它正在查找恰好是服务器根目录的应用程序的根目录。

但是,在您的本地机器上,'/timelapserpro/ is a full application so ~/ refers to '/timelapserpro,而不是'/'。

您需要将本地服务器上的应用程序降级,使其不再是自己的应用程序,或者将目标服务器文件夹提升为应用程序以使两者同步。

于 2012-09-04T21:24:06.877 回答
4

尝试更改MasterPageFile="../Master.master"MasterPageFile="~/Master.master"

还要检查您是否在 iis 7 上正确创建了虚拟文件夹。检查您的应用程序的路径是否正确。您的 IIS 中必须有这样的文件夹结构

->YourAppName (the root of your app contains your root files)
  ->myfolder (contains your myfolder content)
于 2012-09-04T20:56:04.543 回答