可以在主文件后面的代码中找到asp控件

时间:2015-02-11 16:00:01

标签: c# asp.net

这让我发疯,因为我觉得我已经完全了解了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方法中执行此操作。

2 个答案:

答案 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%)。

谢谢