Ответ 1
Я почти всегда создаю совершенно новую страницу, а затем просто копирую "кишки" (оставляя информацию о директивах страницы, пространствах имен и т.д.), вскоре после чего некоторые приходят и заменяют при необходимости.
Каков наилучший способ создать копию существующей страницы ASPX в веб-проекте в Visual Studio?
Если я нажимаю правой кнопкой мыши на файле ASPX в обозревателе решений и выбираю копию, затем вставляем его, он выглядит так, как я ожидал. Я получаю новую копию файла ASPX и код за файлами. Затем я могу переименовать ASPX файл, а также переименовать код за файлами.
Хорошо выглядеть, пока я не открою файл ASPX. Затем я вижу, что у него есть тег "Inherits", который был у исходного файла, и указывает на имя оригинального класса.
Есть ли что-то, что мне не хватает? Я понимаю, что могу изменить это вручную, а также код за файлами (поскольку они объявляют одно и то же имя класса, что вызывает ошибки сборки). Есть ли лучший способ сделать это, или я должен просто подняться и начать делать ручную работу?: -)
Я почти всегда создаю совершенно новую страницу, а затем просто копирую "кишки" (оставляя информацию о директивах страницы, пространствах имен и т.д.), вскоре после чего некоторые приходят и заменяют при необходимости.
Следующие работы в VS 2013
Я думаю, что у Resharper есть "Duplicate" рефакторинг, который также работает на ASPX. Ярлык по умолчанию должен быть Ctrl-D
Я понял это - так что нет необходимости в ответе, но я оставляю это здесь, поскольку я думаю, что другие могут найти это полезным.
Что я сделал, так это открыть один из aspx-страниц aspx.designer.vb файлов (все они идентичны для моих идентичных файлов с кодом) и скопировать автоматически созданные объявления WithEvents для элементов управления.
Затем я превратил файлы aspx.vb и aspx.designer.vb в пустые файлы (когда я их удалил, компилятор жаловался на то, что он не смог их найти - пока не знаю, как это исправить). Магия! Все мои aspx файлы теперь указывают на мой новый класс (и файл), и у меня больше нет дублированного кода.
Кстати, это не просто использование многоуровневого дизайна. У меня уже был весь основной код в одном месте, но мне все равно пришлось дублировать вызовы из Page_Load и различные функции управления щелчком в этот код. Теперь у меня ничего не продублировано...
Брайан
Как и ответ Брайана.
В VS2013.
Вы увидите новый aspx, созданный с помощью "- Copy.aspx" в конце
Введите то, что вы хотите, чтобы вызвал новый .aspx. Наследование и т.д. Обновляются автоматически.