我有一个位于我网站根目录下的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>
所有页面都在同一个解决方案中。
答案 0 :(得分: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)
答案 1 :(得分:3)
您的远程服务器没有将该文件夹设置为Web应用程序,因此当您使用“〜”引用它时,它会查找恰好是服务器根目录的应用程序的根目录。
但是,在本地计算机上,'/ timelapserpro / is a full application so ~/ refers to '/timelapserpro
,而不是'/'。
您需要在本地服务器上降级您的应用程序,使其不再是自己的应用程序,或者将目标服务器文件夹升级为应用程序以使两者同步。