ASP.NET серверный элемент управления не объявлен в CodeBehind

Я знаю, что всегда были проблемы с объявлением серверных элементов управления непосредственно в HTML в Visual Studio. Обычно вам нужно открыть страницу в режиме разработки, чтобы они были сгенерированы в коде, чтобы вы могли получить доступ через ваш код. Но у меня есть странная проблема здесь. Я добавил элемент управления asp:Label на страницу, которая наследует главную страницу.

<asp:Label ID="uxEnteteresultat" runat="server" Text="Test"></asp:Label>

Эти страницы используют структуру с именем Ext.Net что генерирует Ext.js код. Мой дизайнер просто не работает, поэтому я никак не могу сгенерировать этот элемент управления в файле code behind.

И где эти элементы управления объявлены??? В более старой версии.Net (я в VS 2010 использую фреймворк 4.0) мы могли видеть его в частичном классе. Где они сейчас? Есть ли способ обойти себя в VS 2010?

Спасибо!


Нет никаких файлов designer.cs вообще. Это сайт, а не проект. Это может быть частью проблемы...

3 ответа

В VS 2010 каждая форма должна состоять из трех частей:

  • MyForm.aspx
  • MyForm.aspx.cs
  • MyForm.aspx.designer.cs

Вы должны иметь возможность добавить метку следующим образом:

Добавьте это к MyForm.aspx:

<asp:Label ID="lblOrganizer" runat="server" /> 

Добавьте это к MyForm.aspx.designer.cspublic partial class):

protected global::System.Web.UI.WebControls.Label lblOrganizer;

Элементы управления, объявленные внутри страницы mypage.aspx, создаются в частичном классе внутри mypage.aspx.designer.cs

/// <summary>
/// uxEnteteresultat control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label uxEnteteresultat;

Если ваши элементы управления не объявлены в этом файле, они не появятся в codebehind mypage.aspx.cs. Помните, что все элементы управления должны иметь свойство runat = "server" в своем объявлении в HTML.

Проверьте этот похожий вопрос:

Элементы управления Asp.net не доступны в коде позади

Если вы получаете intellisense, то все в порядке, потому что вам не нужно явно объявлять свои элементы управления в коде, начиная с ASP.NET 2.0 (частичные классы). Если вы не можете получить к нему доступ, проверьте файл конструктора и добавьте его вручную для каждого пользователя 1694951.

Другие вопросы по тегам