C# Can';在主文件的代码隐藏中找不到asp控件

C# Can';在主文件的代码隐藏中找不到asp控件,c#,asp.net,C#,Asp.net,这让我发疯了,因为我以为我已经把runat=server的东西完全弄明白了 我的标记中有一个asp:Literal控件(它在母版页中,但这并不重要,对吧?) 在MyMaster.Master中: <asp:Literal ID="myLiteral" runat="server" Text="Some Text"></asp:Literal> 无论我尝试什么,我都会成功 当前上下文中不存在名称“myLiteral” 我尝试过清理和重建我的整个解决方案,但没有任何区别 我

这让我发疯了,因为我以为我已经把
runat=server
的东西完全弄明白了

我的标记中有一个
asp:Literal
控件(它在母版页中,但这并不重要,对吧?)

MyMaster.Master
中:

<asp:Literal ID="myLiteral" runat="server" Text="Some Text"></asp:Literal>
无论我尝试什么,我都会成功

当前上下文中不存在名称“myLiteral”

我尝试过清理和重建我的整个解决方案,但没有任何区别

我做错了什么


编辑:为了澄清,我试图更改母版页代码隐藏中文字控件的文本,而不是内容页。具体来说,我是在主文件的
页面加载
方法中这样做的。

这是VS的一些问题,我在VS 2010中看到过这样的问题,当时控件没有形成。每当发生这种情况时,我都会尝试以下方法- 1.清洗和重建解决方案。 2.从工具箱中拖放未创建的联系人。 3.重新启动计算机

这种事情只是偶尔发生。我建议您使用VS2013,因为它基本上没有bug(如果不是100%)


谢谢你把它弄明白了!我希望知道原因,但是主文件缺少相应的
.designer.cs
文件。为了让VS重新生成设计器文件,我尝试了几种方法,但最终我在其中一个答案中找到了窍门

诀窍是用正确的名称创建一个空的代码文件(在我的例子中是
MyMaster.Master.designer.cs
),然后打开主文件(
MyMaster.Master
),并进行一些小的更改以使VS重新保存该文件。当这种情况发生时,它会神奇地填充空的设计器文件


所以,这个问题解决了。但是,如果有人知道a)我的设计器文件首先消失的原因,以及b)如果有更好的方法迫使VS在设计器文件碰巧消失时重新生成设计器文件,那就太好了。

你的母版页ASPX中哪里有该控件,它是否在其他控件中?或者它是主控件中
窗体的直接子控件吗?它位于两个普通HTML
div
s(不是ASP控件)中,它们本身位于
窗体中。这就是问题吗?不,这不应该是问题。还有一些问题。试着做一件事,注释掉项目中的
myLiteral
内容,然后尝试构建它。查看它是否成功构建,然后尝试将其放回原处并重新构建。如果我省略访问
myLiteral
的行,它构建得很好。一旦我把它放回原处,它就无法再次编译。我正在使用VS2013。我还尝试过清理整个解决方案,以及重新启动Visual Studio。执行此操作的“最安全”方法是从母版和codebehind文件中复制所有代码,删除并重新创建母版页,然后将代码复制回。这样,您就知道您正在处理VS创建和维护的内容,并且母版页仍然存在的任何无关问题的可能性较小。
myLiteral.Text = "Some different text";