Лучший способ сделать копии копий существующей страницы ASPX в Visual Studio

Каков наилучший способ создать копию существующей страницы ASPX в веб-проекте в Visual Studio?

Если я нажимаю правой кнопкой мыши на файле ASPX в обозревателе решений и выбираю копию, затем вставляем его, он выглядит так, как я ожидал. Я получаю новую копию файла ASPX и код за файлами. Затем я могу переименовать ASPX файл, а также переименовать код за файлами.

Хорошо выглядеть, пока я не открою файл ASPX. Затем я вижу, что у него есть тег "Inherits", который был у исходного файла, и указывает на имя оригинального класса.

Есть ли что-то, что мне не хватает? Я понимаю, что могу изменить это вручную, а также код за файлами (поскольку они объявляют одно и то же имя класса, что вызывает ошибки сборки). Есть ли лучший способ сделать это, или я должен просто подняться и начать делать ручную работу?: -)

Ответ 1

Я почти всегда создаю совершенно новую страницу, а затем просто копирую "кишки" (оставляя информацию о директивах страницы, пространствах имен и т.д.), вскоре после чего некоторые приходят и заменяют при необходимости.

Ответ 2

Следующие работы в VS 2013

  • Скопируйте и вставьте нужную страницу aspx, используя VS, щелкните правой кнопкой мыши copy\paste.
  • Переименуйте страницу aspx, щелкнув правой кнопкой мыши "переименовать".
  • Изменить тег Inherits в верхней части страницы aspx на новое имя. (помните - не все допустимые символы).
  • Просмотреть код.
  • Измените имя класса для соответствия тегу Inherits на шаге 3.

Ответ 3

Я думаю, что у Resharper есть "Duplicate" рефакторинг, который также работает на ASPX. Ярлык по умолчанию должен быть Ctrl-D

Ответ 4

Я понял это - так что нет необходимости в ответе, но я оставляю это здесь, поскольку я думаю, что другие могут найти это полезным.

Что я сделал, так это открыть один из aspx-страниц aspx.designer.vb файлов (все они идентичны для моих идентичных файлов с кодом) и скопировать автоматически созданные объявления WithEvents для элементов управления.

Затем я превратил файлы aspx.vb и aspx.designer.vb в пустые файлы (когда я их удалил, компилятор жаловался на то, что он не смог их найти - пока не знаю, как это исправить). Магия! Все мои aspx файлы теперь указывают на мой новый класс (и файл), и у меня больше нет дублированного кода.

Кстати, это не просто использование многоуровневого дизайна. У меня уже был весь основной код в одном месте, но мне все равно пришлось дублировать вызовы из Page_Load и различные функции управления щелчком в этот код. Теперь у меня ничего не продублировано...

Брайан

Ответ 5

Как и ответ Брайана.

В VS2013.

  • Выделите .aspx, который вы хотите скопировать.
  • Нажмите CTRL-C, затем CTRL-V

Вы увидите новый aspx, созданный с помощью "- Copy.aspx" в конце

  • Выделите новый .aspx
  • Щелкните правой кнопкой мыши и выберите "Переименовать..."

Введите то, что вы хотите, чтобы вызвал новый .aspx. Наследование и т.д. Обновляются автоматически.