为什么我得到这个错误“当前上下文中不存在名称'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文件并重新创建它但没有用。
答案 0 :(得分:1)
我认为designer.cs
文件中的问题。请尝试在designer.cs文件中为此标签手动添加引用。
修改强>
修改代码后的问题出在name space
。
解决问题::
用此替换你的行:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ajaxTesting._Default" %>
答案 1 :(得分:0)
第1步:
复制aspx表单,代码隐藏和设计器文件,然后通过复制和粘贴重新创建表单。
第2步:
如果步骤1无法修复它:在Visual Studio中,转到编辑 - &gt;查找和替换 - &gt;在文件中查找并在项目中搜索具有相同名称的控件。
第3步
关闭Visual Studio和所有浏览器。暂时停止IIS并导航到临时ASP.NET文件文件夹(计算机上的路径可能不同):
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files
从底部开始删除此处的站点文件夹中的所有内容(因为您可能会获得ACL文件夹权限限制)。
重新启动IIS并重试(在您尝试过上述一个或两个步骤之后)。
答案 2 :(得分:0)
最好的解决方案是:
<body> and </body>
aspx
页面。<body>
标记替换为您复制的标记.cs
文件中的代码。我觉得这可以解决你的问题。
答案 3 :(得分:0)
我有另一种可能性:
如果您复制.cs文件,例如:复制“Default.aspx.cs”,获取“Default.aspx - Copy.cs”(现在您在同一文件夹中有两个文件), 结果将是:文件将出现在项目文件列表中。即使将复制的文件排除在项目之外,但将文件保留在同一文件夹中也无法解决问题。
为避免此问题,请从项目文件夹中删除复制的文件。
答案 4 :(得分:0)
从其他人导入源文件后出现此问题。过了一会儿,我发现我没有任何designer.cs文件。
我遵循this解决方案。特别是关于“转换为Web应用程序”的部分。这对我有用了!
答案 5 :(得分:0)
我在asp.net网站上面临同样的问题(3.5)在我的案例中,有两份同一文件。
我从网站上排除了#2文件,它对我有用。
答案 6 :(得分:0)
我完全删除了apex文件,重新创建它并留给对象名_Default。然后我开始相应地调整C#代码,瞧,它工作正常。这是在VS2008中使用ASP.NET 3.5时。在这种情况下,我得到了它的工作,但仍然有一些关于VS2008的时髦或者这没有必要。