Ответ 1
Попробуйте
1.- Измените CodeBehind="Name.aspx.cs"
на CodeFile ="Name.aspx.cs"
2.- Построить
3.- Измените CodeFile ="Name.aspx.cs"
на CodeBehind ="Name.aspx.cs"
Я добавил новый элемент управления в мои файлы aspx и заметил, что новый элемент управления не был добавлен в файл конструктора, но в нем также отсутствовало немало других элементов управления, которые были добавлены другими членами команды. Я попытался удалить файл designer.cs и использовать "Конвертировать в веб-приложение" без успеха. Некоторые другие вещи, которые я пробовал, исключили aspx из проекта, здание, а затем повторно включили без успеха. Я также вручную ввел элемент управления, отсутствующий в дизайнере, в конструктор. Когда я запускаю после этого, появляется ошибка, указывающая, что элемент управления не определен, хотя он и есть на самом деле, и что я должен проверить, не хватает ли я директивы.
Первый элемент управления, который я добавил, был скопирован и вложен из аналогичного элемента управления и внес необходимые изменения. Но я также попытался вручную создать элемент управления с теми же результатами.
Любые идеи?
Попробуйте
1.- Измените CodeBehind="Name.aspx.cs"
на CodeFile ="Name.aspx.cs"
2.- Построить
3.- Измените CodeFile ="Name.aspx.cs"
на CodeBehind ="Name.aspx.cs"
У меня была эта проблема в моей работе.
Самое надежное, что вы регенерируете файл .designer.cs и здесь - это решение:
Закройте Visual Studio, затем удалите временные файлы ASP.NET из C:\Windows\Microsoft.Net\Framework\Your_.Net_Version\ProjectName
Удалите папку ProjectName
и запустите Visual Studio. Некоторое время назад у меня была аналогичная проблема, и она была решена этими действиями.
Если вы используете IIS, вам может потребоваться остановить сервер/сайт, чтобы иметь возможность удалять временные файлы.
Чтобы заменить файл конструктора в VS 2013:
Одна простая/глупая ошибка, которая также приводит к аналогичным симптомам, заключается в том, что вы копируете файлы aspx и aspx.cs и переименовываете их, но пренебрегаете обновлением ссылок внутри файла.
Я столкнулся с этим вопросом, пытаясь найти каталог temp asp.net, но очистка, которая не помогла. Затем я понял, что не обновил CodeFile="Page.ascx.cs"
после того, как скопировал файлы для создания новой измененной версии страницы. Затем я пытался добавить элемент управления и ссылаться на него в PageModified.ascx.cs
, но продолжал говорить, что его не существует.
Я сделал это в VS2012:
Что это.
Это также происходит, когда у вас есть usercontrol, который ссылается на другой пользовательский контроль в том же пространстве имен. если вы перемещаете указанный пользовательский элемент управления в другое пространство имен, проблема исчезает.
Иногда в html могут быть ошибки, например, два элемента управления, имеющих один и тот же идентификатор. Также будьте осторожны с тегами div и span. Это мешает дизайнеру обновляться. Для этого проверьте предупреждения в списке ошибок и исправьте их. Вы готовы к работе. Это решило мою проблему.
Мне удалось решить проблему только вручную, добавив декларацию управления в код за файлом. Каждый раз, когда я пытался восстановить файл design.cs, VS 2013 писал бы те же строки без отсутствующего элемента управления.
Объявление должно быть добавлено в код позади, а не в design.cs, потому что он будет удален при каждом изменении .aspx.
Просто добавьте объявление, как вы бы сделали для любой другой переменной, примерно так:
protected MyNameSpace.MyControl ControlName;
Для меня решение было:
Переведите свою страницу в режим дизайна и щелкните правой кнопкой мыши/обновите. Это синхронизирует элементы управления с designer.cs. Убедитесь, что файл designer.cs закрыт перед этим.
Просто чтобы добавить к списку возможных решений: Эти строки в моем файле разметки, хотя и выглядели допустимыми, явно вызывали разрыв с файлом конструктора:
<%: Styles.Render("/my-file.css") %>
<%: Scripts.Render("/my-file.js") %>
Я просто закомментировал их, сохранил, и созданный файл начал работать правильно. Затем я раскомментировал обе строки, сохранил их и смог добавить новые элементы управления на страницу без проблем. Я нашел это странным, и мне все еще неясно, какова была первопричина проблемы. Я могу только предположить, что это ошибка Visual Studio.
Суть в том, что может существовать совершенно правильный код, вызывающий проблему, и в этом случае возможное решение состоит в том, чтобы прокомментировать разделы HTML в вашем файле разметки, пока файл конструктора не разрешится сам, а затем вы можете отменить все свои комментарии и возобновить работу в обычном режиме.
В моем случае мне пришлось добавить runat="server"
чтобы перестроить решение. Недостающие элементы были автоматически добавлены в сгенерированный aspx.designer.cs
и стали доступны для использования в коде
<button runat="server" id="Button01" type="button" class="Button" onclick="location.href='http://http://www.example.com/';">
<asp:Label runat="server" Text='<%# GetText("Button01")%>'></asp:Label>
</button>
Мой файл кода designer.vb не обновлялся из-за ошибки в веб-элементах управления Telerik - у меня было неправильное значение в атрибуте DataKeyNames в MasterTableView. Редактор aspx не воспринимал это во время разработки, поскольку это просто строковое значение, но он вызывал сбой автогенерации файла designer.vb.