2010-04-28 2 views
2

Никогда не видел этого раньше в ASP.NET-разработке. Я пытаюсь реорганизовать 40 страниц ASP.NET с одной страницы на стиль кода.ASP.NET и IsNew на уровне страницы

Что делает этот код?

// Validate required parameters (if "new", then nothing is required) 
if (!this.IsNew()) 
{ 
    if (string.IsNullOrEmpty(_billId)) 
    { 
    responseErrorNo = 4; 
    Utils.SendError(respErrNum); 
    } 
} 

Его одностраничная страница ASP.NET на странице в блоке в методе Page_Load.

На странице с кодом ниже этот код (.IsNew) не распознается. Что мне здесь не хватает? Есть ли страница MSDN на IsNew на странице?

обновление ОК. Это мое движение в тупик дня. Был небольшой метод, расположенный в нижней части серверной части был защищен bool IsNew()

см. Комментарии о точке наследования. http://msdn.microsoft.com/en-us/library/015103yb.aspx

+2

У ваших страниц есть пользовательский базовый класс? –

ответ

2

Вы выполнили поиск по всем исходным файлам для IsNew?

Некоторые возможности
1. Этот метод наследуется от базового класса, если у вас есть один конечно
2. IsNew может быть метод расширения. http://msdn.microsoft.com/en-us/library/bb383977.aspx
3. IsNew является членом класса

1

Если ваш файл кода наследует от класса пользовательских страниц, как в классе, как PageBase вместо стандартного System.Web.UI.Page, в IsNew МОГ быть там, и, возможно, ваша страница должна реализовать это ... Кроме того, это может быть метод расширения для класса страниц, а также отсутствие ссылки на пространство имен, чтобы включить его ...

HTH.

+0

Одностраничный дизайн не может наследовать от пользовательского класса. Внутри Это часть причины, по которой я меняю дизайн. – BuddyJoe

+0

Директива @Page имеет атрибут Inherits; вы не можете унаследовать его от базового класса, установив его в свойство? Думал, что я видел некоторые примеры этого, нашел одного комментатора, который сказал, что это боль, хотя я бы тоже переписал его, если бы у меня была такая возможность :-) –

1

Это вызывает недоумение, поскольку класс System.Web.UI.Page определенно не имеет метода IsNew(). Единственный способ получить это, если страница наследуется от a base page, или, возможно, если она есть an extension method, которая расширяет страницу.

Вы можете щелкнуть правой кнопкой мыши метод в Visual Studio и найти определение?

Смежные вопросы