“使用新关键字创建对象”实例错误
我有一个名为Masterpage.master的masterpage文件,它可以与我所有的aspx页面一起工作,除了aspx页面,我尝试在代码隐藏文件的Page_Load方法中实例化东西。
名为ManageRoles.aspx的aspx文件看起来像这样 -
<%@ Page Language="C#"
AutoEventWireup="true"
CodeBehind="ManageRoles.aspx.cs"
Inherits="eservice.ManageRoles"
MasterPageFile="~/MasterPage.Master"
%>
<asp:Content ID="Content2"
ContentPlaceHolderID="ContentPlaceHolder1"
runat="server">
<!-- Start of roles -->
<h3>
Manage Roles</h3>
<asp:Label ID="Msg" ForeColor="maroon" runat="server" />
<br />
<!-- End of roles -->
<asp:LoginView ID="LoginView2" runat="server">
<LoggedInTemplate>
<p id="backtoblog"></p>
<!-- End of roles -->
</LoggedInTemplate>
<AnonymousTemplate>
</AnonymousTemplate>
</asp:LoginView>
</asp:Content>
并且名为ManageRoles.aspx.cs的代码隐藏文件看起来像这样 -
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
namespace eservice
{
public partial class ManageRoles : System.Web.UI.Page
{
private string[] rolesArray;
private string[] usersInRole;
MembershipUserCollection users;
protected void Page_Load(object sender, EventArgs e)
{
// clear the Msg label on each visit
Msg.Text = string.Empty;
}
}
}
Masterpage.master文件包含这样的内容部分 -
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
这是一个Web应用程序项目,它构建得很好,但是当我点击ManageRoles.aspx链接时抛出了一个运行时异常
我得到以下例外 -
System.NullReferenceException未被用户代码处理Message =“对象引用未设置为对象的实例”。 Source =“eservice”StackTrace:位于C: Users das.arunabh Documents Visual Studio 2008 Projects ESERVICE_SOLUTION-MAIN eservice eservice ManageRoles.aspx中的eservice.ManageRoles.Page_Load(Object sender,EventArgs e)。 cs:第24行System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs e)System.Web.UI上System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e) .Control.OnLoad(EventArgs e)在System.Web.UI.Control.LoadRecursive()在System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)InnerException:
我不认为Msg
是一个保留字,但您可能想尝试重命名它。 设计师很可能没有在Designer.cs文件中正确创建成员变量。 尝试以下(基本上,删除然后读取标签的html,让设计者创建成员变量):
通常,我会避免在主页面代码文件中执行身份验证服务......使用login.aspx.cs代码文件实现您的实际身份验证服务,并让主页面执行主页面的操作...显示演示文稿和内容。
<%@ Master Language =“C#”AutoEventWireup =“true”CodeFile =“Site.master.cs”Inherits =“Site”%>表单身份验证,授权和用户帐户
用户帐户教程TODO:菜单将会在这里...注意:http://www.asp.net/security/tutorials/an-overview-of-forms-authentication-cs
该错误表示您正试图给Msg.Text
一个值,但Msg.Text
不存在于您当前的作用域中。
上一篇: "Use the new keyword to create an object" instance error