Вызов встроенных (ascx) методов из файла codebehind с использованием частичных классов

Я использую .net 2.0. Я хотел бы разместить один из моих методов C # во встроенном блоке сценария сервера внутри моего файла ascx, потому что мне нужно много его обновлять во время проектирования. Таким образом, мне не нужно каждый раз компилировать свой большой проект.

Я хотел бы вызвать метод из моего кода за файлом. Я использую для этого вставку метода виртуальной заглушки в файл с выделенным кодом и замену его в файле ascx. Теперь, когда я начал использовать частичные классы, я ожидал, что смогу просто вызвать метод напрямую. Это невозможно?

Спасибо


person srmark    schedule 07.05.2009    source источник
comment
Что-то не так с моим вопросом? 30 минут и никакого ответа в среду утром! Неслыханно. Может быть, все программисты вернулись к работе.   -  person srmark    schedule 07.05.2009


Ответы (2)


К сожалению, я не думаю, что это возможно. Во время разработки частичный класс (* .designer.cs) в основном содержит только ваши элементы управления. Класс, который фактически содержит код из блока сценария, также создается ASP.NET, но он наследуется от вашего основного класса.

См. http://msdn.microsoft.com/en-us/library/ms178138.aspx для получения дополнительной информации.

person ultravelocity    schedule 07.05.2009

Я не понимаю вашего мотива ... Разве не так же легко изменить код страницы, как и файл .ascx? В любом случае ASP.NET будет либо динамически компилировать их при доступе к файлу, либо заставлять вас перестраивать, в зависимости от типа проекта.

person Bryan    schedule 08.05.2009
comment
Да, но поскольку мой проект большой, компиляция занимает много времени. Компиляция одной страницы происходит намного быстрее. - person srmark; 08.05.2009
comment
Как только мой дизайн будет готов, я фактически перенесу блок в исходный код. Просто когда я возился со страницей. Каждый раз компилировать просто смешно. Неважно. Перегрузка - не такая уж большая боль. Мне просто было любопытно, позволяют ли это частичные классы или нет. - person srmark; 08.05.2009