Метка не существует в текущем контексте - PullRequest
3 голосов
/ 15 мая 2011

почему я получаю эту ошибку «Имя« lblHelloWorld »не существует в текущем контексте»? Как мне это исправить?

<%@ Page Language="C#" AutoEventWireup="True" Inherits="_Default"      Codebehind="Default.aspx.cs" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0     Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Hello, world!</title>
</head>
<body>
<form id="form1" runat="server">
    <asp:ScriptManager ID="MainScriptManager" runat="server" />
    <asp:UpdatePanel ID="pnlHelloWorld" runat="server">
        <ContentTemplate>
            <asp:Label runat="server" ID="lblHelloWorld" Text="Click the button!" />
            <br /><br />
            <asp:Button runat="server" ID="btnHelloWorld" OnClick="btnHelloWorld_Click" Text="Update label!" />
        </ContentTemplate>
    </asp:UpdatePanel>
</form>

using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace ajaxTesting
{
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnHelloWorld_Click(object sender, EventArgs e)
    {
        lblHelloWorld.Text = "Hello, world - this is a fresh message from ASP.NET AJAX! The time right now is: " + DateTime.Now.ToLongTimeString();
    }
}
}

Я пытался очистить и сделать перебликинг; удаление файла designer.cs и его повторное создание, но оно бесполезно.

Ответы [ 7 ]

1 голос
/ 15 мая 2011

Мне кажется, проблема в вашем designer.cs файле. Попробуйте вручную добавить ссылку на этот ярлык в файле designer.cs.

РЕДАКТИРОВАТЬ:

Проблема после пересмотра вашего кода в name space.

Чтобы исправить вашу проблему ::

Замените вашу строку на:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ajaxTesting._Default" %>
0 голосов
/ 24 марта 2018

Я полностью удалил файл Apex, заново создал его и оставил объекту имя _Default. Затем я приступил к корректировке кода C # и вуаля, все заработало. Это было при работе с ASP.NET 3.5 в VS2008. В этом случае я заставил его работать, но в VS2008 все еще есть что-то прикольное, или в этом нет необходимости.

0 голосов
/ 04 августа 2014

Я столкнулся с такой же проблемой на сайте asp.net (3.5) В моем случае было 2 копии одного и того же файла.

  1. Compute.aspx
  2. Compute_backup.aspx

Я исключил файл # 2 с веб-сайта, и он работал для меня.

0 голосов
/ 17 января 2014

У меня была эта проблема после импорта исходных файлов от кого-то еще.Через некоторое время я обнаружил, что у меня нет файла designer.cs.

Я следовал этому решению.Особенно часть о "Преобразовать в веб-приложение".Это помогло мне!

0 голосов
/ 10 ноября 2013

Другая возможность, которая у меня была:

Если вы дублируете файл .cs, например: duplicate "Default.aspx.cs", получая "Default.aspx - Copy.cs" (теперь у вас естьдва файла в одной папке), результат будет: файл появится в списке файлов проекта.Даже исключение скопированного файла из проекта, но оставление файла в той же папке не решит проблему.

Чтобы избежать этой проблемы, удалите скопированный файл из папок проекта.

0 голосов
/ 15 мая 2011

Наилучшее возможное решение:

  1. Скопируйте все строки кода между <body> and </body>
  2. Создайте новую страницу aspx в своем проекте.
  3. Замените тег <body> на тот, который вы скопировали
  4. Аналогичным образом скопируйте и вставьте также код из файла .cs.

Мне кажется, это должно решить вашу проблему.

0 голосов
/ 15 мая 2011

Шаг 1:

Скопируйте форму aspx, файлы кода и дизайнера и заново создайте форму, скопировав и вставив.

Шаг 2:

Если шаг 1 не исправляет это: в Visual Studio перейдите в «Правка» -> «Найти и заменить» -> «Найти в файлах» и найдите в своем проекте элемент управления с тем же именем.

Шаг 3

Закройте Visual Studio и все браузеры. Временно остановите IIS и перейдите в папку временных файлов ASP.NET (путь может быть другим на вашем компьютере):

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Временные файлы ASP.NET

Начните удалять все из папки сайта здесь, начиная снизу (потому что вы можете получить ограничения разрешений папки ACL).

Перезапустите IIS и попробуйте снова (после того, как вы попробовали один или оба из предыдущих шагов).

...