3

なぜ「名前 '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 ファイルを削除して再作成しましたが、役に立ちませんでした。

4

7 に答える 7

2

あなたのファイルに問題があると思いますdesigner.cs。designer.cs ファイルにこのラベルの参照を手動で追加してみてください。

編集:

コードを修正した後の問題は にありname spaceます。

問題を解決するには::

行を次のように置き換えます。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ajaxTesting._Default" %>
于 2011-05-15T13:35:35.123 に答える
0

考えられる最善の解決策は次のとおりです。

  1. 間のすべてのコード行をコピーします<body> and </body>
  2. プロジェクトに新しいaspxページを作成します。
  3. <body>タグをコピーしたものに置き換えます
  4. 同様に、ファイルからコードをコピーして貼り付け.csます。

これで問題が解決すると思います。

于 2011-05-15T14:12:02.847 に答える
0

他の人からソースファイルをインポートした後、この問題が発生しました。しばらくすると、designer.cs ファイルがないことがわかりました。

私はこの解決策に従いました。特に「Webアプリに変換」の部分。それは私のためにトリックをしました!

于 2014-01-17T15:21:00.510 に答える
0

ステップ1:

aspx フォーム、分離コード、デザイナー ファイルをコピーし、コピーして貼り付けてフォームを再作成します。

ステップ2:

手順 1 で解決しない場合: Visual Studio で、[編集] -> [検索と置換] -> [ファイル内を検索] に移動し、プロジェクト内で同じ名前のコントロールを検索します。

ステップ 3

Visual Studio とすべてのブラウザーを閉じます。IIS を一時的に停止し、ASP.NET ファイルの一時フォルダーに移動します (パスはコンピューターによって異なる場合があります)。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET ファイル

ここのサイト フォルダから、一番下からすべてを削除し始めます (ACL フォルダのアクセス許可の制限を受ける可能性があるため)。

IIS を再起動して、もう一度やり直してください (前の手順の 1 つまたは両方を試した後で)。

于 2011-05-15T14:01:19.427 に答える