Имя "Label1" не существует в текущем контексте
У меня странная проблема в Visual Studio, когда я не могу ссылаться на элементы управления со страницы с выделенным кодом.
Чтобы дать действительно простой пример, моя страница выглядит так:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="New.aspx.cs" Inherits="ITDashboard.idea.New" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</form>
</body>
</html>
И мой код это:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace ITDashboard.idea
{
public partial class New : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = "hello";
}
}
}
Приложение называется ITDashboard, и эта страница находится в папке под названием "идея".
Посмотрели вокруг, и некоторые посты предлагают удалить файл конструктора и воссоздать его. Однако в VS2012 нет выбора, который я мог видеть. Также я получаю ту же ошибку с новой пустой страницей, даже в корне сайта.
3 ответа
Думал, что отправлю на случай, если у кого-то будет то же самое
Все веб-сообщения, которые я видел, указывали на "Преобразовать в веб-приложение" (теперь в Project в VS2013). Однако это не сработало для меня.
Наконец-то все заработало, изменив тип.net Framework (произвольно до 4.5). Затем я снова запустил параметр "Преобразовать в веб-приложение", и он заново создал файлы designer.cs.
Кроме того, все новые элементы управления, которые я добавляю, теперь автоматически добавляются в designer.cs.
У меня пока недостаточно очков, чтобы добавить комментарий, поэтому, пожалуйста, прости этот комментарий в поле для ответов!
Я видел это раньше. "This" = VS не добавляет элементы управления в файл конструктора. Из того, что я смог найти, это просто искажение на странице. Или, если это происходит на всех страницах, это искажение проекта. Вы не сделали ничего, чтобы вызвать это, поэтому в будущем вы ничего не сможете сделать, чтобы избежать этого. К счастью, за 13 с лишним лет работы с различными версиями VS я видел его всего два или три раза.
Андрей прибил это. Если проблема связана с этой страницей, создайте новую страницу и реплицируйте поврежденную страницу по одному элементу управления за раз. Если это на уровне проекта (и звучит так, как есть), вам придется проделать еще немного работы.
Вот хороший совет о том, как восстановить поврежденный проект:
Как я могу восстановить поврежденный файл.csproj в Visual Studio 2010?
Удачи!
Если вы удваиваете настройку текста Label1 ... измените Label1.text на Label1.Text.
Код серьезности Описание Ошибка состояния подавления строки файла проекта CS0103 Имя label1 не существует в текущем контексте ConsoleApplication6