Имя "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

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