尝试使用引用程序集中的 ASPX 页面时遇到此问题。此页面由内容页面及其母版页组成。仅当从另一个 Web 项目访问任何内容页面 web 控件时才会引发异常,但从它所属的同一项目访问该页面时不会发生这种情况。
起初,这些页面应该是常规的 ASPX 页面,然后它们运行良好(即没有发生此异常),但我们的上级决定将它们包装到 MasterPages 中,以实现一些可重用性或其他原因(这有点奇怪因为这个 ASPX 页面是自动生成的)。
所以,我们现在遇到了这个麻烦:/
编辑:我正在添加一些代码来帮助你帮助我:)
母版页:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="MasterPage.master.cs"
Inherits="WebApplicationTemplate.MasterPage" %>
<!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 id="Head1" runat="server">
<asp:ContentPlaceHolder ID="headPlaceHolder" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form" runat="server">
<asp:ContentPlaceHolder ID="formPlaceHolder" runat="server">
</asp:ContentPlaceHolder>
</form>
</body>
</html>
内容页:
<%@ MasterType VirtualPath="~/MasterPage.Master" %>
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="true"
CodeBehind="TestPage.aspx.cs" Inherits="WebApplicationTemplate.TestPage" %>
<asp:Content ID="headContent" ContentPlaceHolderID="headPlaceHolder" runat="server">
</asp:Content>
<asp:Content ID="formContent" ContentPlaceHolderID="formPlaceHolder" runat="server">
<asp:TextBox ID="id1" runat="server" Text="Text" MaxLength="40" Style="top: 100;
left: 100; width: 100; height: 100; position: absolute;" />
</asp:Content>
在后面的内容页面代码中引发异常的函数:
public void Foo()
{
id1.Text = "something"; //Object reference not set to an instance of an object.
}
正如我之前所说,当我通过引用程序集从另一个项目访问此页面时,我才遇到此问题。我不知道是否必须在任何 web.config 中配置某些内容,无论是在母版页项目中还是在引用前一个项目的程序集的那个中。