Лучший способ сделать дубликаты существующих страниц ASPX в Visual Studio - PullRequest
14 голосов
/ 05 апреля 2011

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

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

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

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

Ответы [ 5 ]

9 голосов
/ 05 апреля 2011

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

8 голосов
/ 09 октября 2014

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

  1. Скопируйте и вставьте нужную страницу aspx, используя VS правой кнопкой мыши копировать / вставить.
  2. Переименуйте страницу aspx, используя правую кнопку «переименовать».
  3. Измените тег Inherits вверху страницы aspx на новое имя. (учтите - не все символы разрешены).
  4. Просмотр кода.
  5. Измените имя класса в соответствии с тегом Inherits на шаге 3.
2 голосов
/ 05 апреля 2011

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

1 голос
/ 02 ноября 2014

Аналогично ответу Брайана.

В VS2013.

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

Вы увидите новый aspx, созданныйто же самое с «- Copy.aspx» в конце

  • Выделите новый .aspx
  • Щелкните правой кнопкой мыши и выберите «Rename ...»

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

1 голос
/ 25 октября 2012

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

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

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

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

Brian

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...