【问题标题】:Master page gives error母版页给出错误
【发布时间】:2016-01-13 06:00:51
【问题描述】:

我正在为 ASP.NET 应用程序使用 VS2008。

我的解决方案资源管理器的层次结构如下:

启动页面 Default.aspx 显示登录表单。当我按下登录按钮时,应该会打开另一个名称为 selectCompany 的页面。 selectCompany 是一个 Web 内容表单,其母版页为 Master1.Master。但它没有打开,而是我收到了这个错误:

Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

    Parser Error Message: Could not load type 'FlexStock.Forms.master1'.

    Source Error:

    Line 1:  <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="~/Forms/selectCompany.aspx" Inherits="FlexStock.Forms.master1" %>
    Line 2:  
    Line 3:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


    Source File: /Forms/master1.Master    Line: 1 

Master1.master的第一行是这样的:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="master1.master.cs" Inherits="FlexStock.Forms.master1" %>

Web Content Form 的第一行 selectCompany.aspx 是这样的:

<%@ Page Title="" Language="C#" MasterPageFile="~/Forms/master1.Master" AutoEventWireup="true" CodeBehind="selectCompany.aspx.cs" Inherits="FlexStock.Forms.selectCompany" %>

我没有关注问题出在哪里。

【问题讨论】:

  • 真的是一个Web Application项目吗?因为我没有看到你的 bin 文件夹。
  • @Louis 是的,它是一个 Web 应用程序。我可以通过 Windows 资源管理器看到 bin 文件夹,但不能通过 VS 看到。上图是 VS 解决方案资源管理器。

标签: asp.net master-pages


【解决方案1】:

确保 Inhertis 部分中声明的 class-name 页面指令匹配 代码隐藏文件。

Master1.master:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="master1.master.cs" Inherits="FlexStock.Forms.master1" %>

Master1.Master.cs:

namespace FlexStock.Forms {
    public class master1 {
        /* ... */

【讨论】:

  • 我将 master1.Master 移动到根文件夹并更新了行:Inherits="FlexStock.master1",现在它给出了错误:'FlexStock.master1' is not allowed here because it doesn't extend class 'System.Web.UI.MasterPage'。
  • 我还将 master1.Master.cs 更改为:命名空间 FlexStock。
  • 我会说你的错误表明还有其他类命名相同并且它们正在发生冲突。否则请确保您的 FlexStock.master1 实际上继承了 System.Web.UI.MasterPage。
【解决方案2】:

您是否构建了没有任何错误/警告的项目?

错误表示它无法找到代码隐藏类FlexStock.Forms.master1,因此问题很可能出现在master1.Master.cs 或designer.cs - 您可能已经更改了命名空间或类名而没有在标记中进行相同的更改.或者编译出错,VS无法生成程序集(或无法放入bin文件夹)

【讨论】:

  • 它的构建没有错误。现在它给出错误:FlexStock.master1' is not allowed here because it does not extend class 'System.Web.UI.MasterPage'.
【解决方案3】:

如果您可以在资源管理器中看到 bin 文件夹,但在 VS 中看不到,请尝试将其“包含”到您的项目中。

也许将文件夹拖到解决方案资源管理器中,然后右键单击它并包含它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多