Asp .net повторное использование кода / копирование вопроса - PullRequest
2 голосов
/ 11 февраля 2010

Я знаю, что название расплывчато, извините, я не мог придумать лучшего способа дать ему название:

У меня такое уже бывало несколько раз; когда я копирую код со страницы asp .net и вставляю его в другую страницу, ни один из элементов управления не распознается в коде за страницей. Я пытался построить / перестроить страницу, но не вижу элементов управления (в intellesense), и сборка не удалась. Также любые элементы управления, которые я перетаскиваю из панели инструментов, не будут видны после того, как я скопирую код ...

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

Спасибо за любой совет по этому вопросу. Я использую VS 2008 Professional BTW.

Ответы [ 6 ]

1 голос
/ 11 февраля 2010

Если вы пытаетесь скопировать разметку (aspx, а не aspx.cs), вы можете попробовать переключиться в режим конструктора, вырезать и вставить его. Таким образом, он обновит загадочный файл конструктора (вы можете возиться с этим, попробовать и посмотреть, что произойдет). :)

0 голосов
/ 11 февраля 2010

Конечно, когда вы вставляете HTML-код на другую страницу, идентификаторы элементов управления будут меняться (если вы не отключили их в настройках). Это очевидная вещь для проверки.

Если вы исключаете проблемы с именами, это может быть связано с VS. По какой-то таинственной причине иногда VS не обновляет файл конструктора после вставки в aspx. Я столкнулся с этой неприятной проблемой. Что вам нужно сделать, это восстановить файл конструктора:

Перейдите удалить файл конструктора, затем щелкните правой кнопкой мыши файл aspx и выберите «Преобразовать в веб-приложение». Это должно сделать это.

0 голосов
/ 11 февраля 2010

Если разметка, в которую вы копируете, недействительна, Visual Studio должен автоматически обновить файл .designer.cs. Если этого не произойдет, щелкните правой кнопкой мыши проект и выберите «Преобразовать в веб-приложение» (да, он доступен даже для веб-приложений) может сделать свое дело. Не очень чистое / объяснимое решение, но оно сработало для меня несколько раз.

0 голосов
/ 11 февраля 2010

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

0 голосов
/ 11 февраля 2010

Убедитесь, что вы установили элементы CodeBehind и Inherits тега Page <% @ Page ....%> в файл с кодом (.cs).

0 голосов
/ 11 февраля 2010

В настройках есть параметр для отключения идентификаторов управления автогенерацией. Это то, что вы ищете ...

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