“使用新关键字创建对象”实例错误

我有一个名为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,让设计者创建成员变量):

  • 从编辑器中剪下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不存在于您当前的作用域中。

    链接地址: http://www.djcxy.com/p/27981.html

    上一篇: "Use the new keyword to create an object" instance error

    下一篇: getting error code while connecting to sql server