创建控件vs2010 MasterPage时出错

时间:2010-07-01 15:48:10

标签: c# asp.net master-pages

有人可以解释这个错误吗?

创建控件时出错 - 磁头 对象引用未设置为对象的实例。

<%@ Page Title="" Language="C#" MasterPageFile="~/Controls/Master1.Master"
 AutoEventWireup="true" CodeBehind="GrupoUsuario.aspx.cs" Inherits="GrupoUsuario" %>

<asp:Content ID="Content1" runat="server" contentplaceholderid="head">
</asp:Content>

我认为这是visual studio 2010在设计视图中的一个错误。我没有使用任何事件来操作方法OnInt()中的会话对象。 “PlaceHolderTopo”是Web用户控件Topo.ascx中的占位符。这是正常的工作。我在页面中的内容占位符中没有任何代码从主页继承并得到此错误。

以下是母版页的代码:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="PrincipalSeguranca.Master.cs" Inherits="PrincipalSeguranca" %>
<%@ Register Src="Topo.ascx" TagName="Topo" TagPrefix="uc1" %>
<%@ Register src="MenuAdmin.ascx" TagName="MenuAdmin" TagPrefix="uc2" %>
<%@ Register src="Rodape.ascx" tagname="Rodape" tagprefix="uc3" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>Sistema</title>
  <script language="jscript" type="text/javascript" src="Scripts/Geral.js"></script>
  <link rel="shortcut icon" href="../layout/ico/favicon.ico" type="image/x-icon" />
  <link rel="stylesheet" href="../layout/css/styles.css" type="text/css" />
  <link href="../layout/css/menu_tabbed.css" rel="stylesheet" type="text/css" />
  <link rel="stylesheet" href="../layout/css/contents.css" type="text/css" />
</head>

<body>

  <form id="form1" ClientInstanceName="form1" runat="server">
    <uc1:Topo ID="Topo1" runat="server" />
    <div id="corpo">
      <asp:ContentPlaceHolder ID="head" runat="server">
      </asp:ContentPlaceHolder>
    </div>
    <div id="rodape">
      <uc3:Rodape ID="Rodape1" runat="server" />
    </div>
  </form>  
</body>
</html>

1 个答案:

答案 0 :(得分:5)

您在设计时Rodape控件中存在错误。

在“设计”视图中打开页面时,它会在Visual Studio的过程中创建自定义控件的实例。由于您的网站实际上并未运行,您控件中的代码可能正在访问一些尚未初始化的静态成员。

您应该启动Visual Studio的第二个副本,将其调试器附加到第一个副本,在“调试”菜单中设置“在所有异常上中断”,然后找到您的错误。