ASP.NET での「.controlname' が存在しません」エラーのデバッグ
この一般的な ASP.NET エラーは、多くの場合、機能の突然の喪失として現れ、Visual Studio の IntelliSense がコントロールの認識を停止し、「'Label1' は現在のコンテキストに存在しません。」のようなメッセージが表示されます。
問題:
通常、根本的な問題は、ASPX ページの HTML 要素に runat="server"
属性が欠落していることです。この属性は、C# コードビハインドで変数としてこれらの要素にアクセスするために不可欠です。
解決策:
Add runat="server"
: ASPX ファイル内の影響を受けるコントロールの HTML タグを注意深く調べてください。 サーバー側のアクセスを有効にするために、各コントロールのタグに runat="server"
属性が含まれていることを確認してください。
デザイナー ファイルを再構築します: ソリューション エクスプローラーで、問題のある ASPX ページに関連付けられている ".aspx.designer.cs" ファイルを見つけます。このファイルを削除します (ただし、C# コードを含む ".aspx.cs" ファイルは保持します)。
Web アプリケーション変換: ASPX ファイルを右クリックするか、プロジェクト メニューを使用して [Web アプリケーションに変換] を選択します。これにより、更新された HTML 属性を反映してデザイナー ファイルが再生成されます。
さらなるトラブルシューティング:
以上がASP.NET アプリケーションで「'controlname' が現在のコンテキストに存在しません」というエラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。