“Используйте новое ключевое слово для создания объектной” ошибки экземпляра

У меня есть masterpage файл, который называют Masterpage.master, который хорошо работает со всеми моими aspx страницами кроме aspx страниц, на которых я пытаюсь инстанцировать материала в методе Page_Load в codebehind файле.

aspx файл по имени ManageRoles.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>

Это - проект веб-приложения, и он создает прекрасный, но выдает исключение на этапе выполнения, когда я нажимаю на ссылку для ManageRoles.aspx

Я получаю следующее исключение -

Система. NullReferenceException был не обработан пользовательским закодированным сообщением = "Ссылка на объект не набор к экземпляру объекта". Источник = "eservice" StackTrace: в eservice. ManageRoles. Page_Load (Объектный отправитель, EventArgs e) в C:\Users\das.arunabh\Documents\Visual Studio 2008\Projects\ESERVICE_SOLUTION-MAIN\eservice\eservice\ManageRoles.aspx.cs:line 24 в System. Сеть. Util. CalliHelper. EventArgFunctionCaller (IntPtr fp, Объект o, Объект t, EventArgs e) в System. Сеть. Util. CalliEventHandlerDelegateProxy. Обратный вызов (Объектный отправитель, EventArgs e) в System. Сеть. UI.Control. OnLoad (EventArgs e) в Системе. Сеть. UI.Control. LoadRecursive () в Системе. Сеть. UI.Page. ProcessRequestMain (булевская переменная includeStagesBeforeAsyncPoint, булевская переменная includeStagesAfterAsyncPoint) InnerException:

1
задан Das 7 July 2010 в 20:56
поделиться

3 ответа

Я не думаю, что Msg является зарезервированным словом, но вы можете попробовать переименовать его. Скорее всего, дизайнер не создал переменную-член должным образом в вашем файле Designer.cs. Попробуйте сделать следующее (в основном, удалите, а затем добавьте html для ярлыка, чтобы дизайнер создал переменную-член):

  1. Вырежьте html-код из редактора
  2. Переключитесь на вид дизайна страницы
  3. Переключитесь на code behind
  4. Переключитесь обратно на вид дизайнера страницы
  5. Переключитесь на вид источника
  6. Повторно вставьте код
  7. Переключитесь на дизайнер
  8. Вернитесь к вашему codebehind.
  9. Сохраните и, если вам повезет, код должен работать.
2
ответ дан 2 September 2019 в 23:13
поделиться

ошибка говорит о том, что вы пытаетесь присвоить значение Msg.Text , но Msg.Text не существует в вашей текущей области.

0
ответ дан 2 September 2019 в 23:13
поделиться

Как правило, я бы воздержался от выполнения служб аутентификации внутри файлов кода главной страницы ... Используйте файл кода login.aspx.cs для вашей фактической службы аутентификации и оставьте главную страницу делать то, для чего предназначены мастер-страницы ... Показать презентацию и контент .

<% @ Master Language = "C #" AutoEventWireup = "true" CodeFile = "Site.master.cs" Inherits = "Site"%> Формы аутентификации, авторизации и учетных записей пользователей

Руководства по учетным записям пользователей ТОДО: Здесь будет меню ...

Примечание: http://www.asp.net/security/tutorials/an-overview-of-forms-authentication-cs

0
ответ дан 2 September 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: