这让我发疯,因为我觉得我已经完全了解了runat=server
的东西。
我的标记中有一个asp:Literal
控件(它在主页中,但这没关系,对吗?)
在MyMaster.Master
:
<asp:Literal ID="myLiteral" runat="server" Text="Some Text"></asp:Literal>
然后,在代码隐藏(MyMaster.Master.cs
)中,我有:
myLiteral.Text = "Some different text";
无论我尝试什么,我都会
当前上下文中不存在名称“myLiteral”
我已经尝试过清理和重建我的整个解决方案,但它没有任何区别。
我做错了什么?
编辑:为了澄清,我正在尝试更改母版页的代码隐藏中的Literal控件的文本,而不是内容页面。具体来说,我是在主文件的Page_Load
方法中执行此操作。
答案 0 :(得分:1)
想出来!我希望我知道为什么,但Masterfile错过了相应的.designer.cs
文件。我尝试了几个让VS重新生成设计器文件的东西,但我终于在this question的一个答案中找到了这个技巧。
诀窍是创建一个具有正确名称的空代码文件(在我的情况下为MyMaster.Master.designer.cs
。)然后打开主文件(MyMaster.Master
)并进行一些小改动以使VS重新保存文件。当发生这种情况时,它会神奇地填充空的设计器文件!
所以,这个问题就解决了。但是,如果有人知道为什么a)我的设计器文件首先消失了,b)如果有更好的方法迫使VS重新生成设计器文件,如果它们碰巧消失了,那就太棒了。
答案 1 :(得分:0)
这是VS的一些问题,我在VS 2010中见证了控件未形成时的问题。无论何时发生这种情况,我都会尝试以下方法 - 1.清洁和重建解决方案。 2.从未创建的工具箱中拖放联系人。 3.重新启动计算机。
这件事有时只会发生。我建议你使用VS 2013,因为它几乎没有bug(如果不是100%)。
谢谢