[英]Can't find asp control in codebehind of Master file
这让我发疯,因为我以为我完全知道了runat=server
内容。
我在标记中有一个asp:Literal
控件(在母版页中,但这没关系,对吧?)
在MyMaster.Master
:
<asp:Literal ID="myLiteral" runat="server" Text="Some Text"></asp:Literal>
然后,在MyMaster.Master.cs
的代码( MyMaster.Master.cs
)中,我有:
myLiteral.Text = "Some different text";
无论我尝试什么,我都会
名称“ myLiteral”在当前上下文中不存在
我曾尝试清洁和重建整个解决方案,但没有任何区别。
我究竟做错了什么?
编辑:为澄清起见,我试图在母版页 (而不是内容页)的代码背后更改Literal控件的文本。 具体来说,我是在主文件的Page_Load
方法中执行此操作的。
弄清楚了! 我希望我知道为什么,但是.designer.cs
丢失了它对应的.designer.cs
文件。 我尝试了几种方法来使VS重新生成设计器文件,但最终在该问题的答案之一中找到了窍门。
诀窍是使用正确的名称(在我的情况下为MyMaster.Master.designer.cs
创建一个空的代码文件,然后打开masterfile( MyMaster.Master
)并进行一些小的更改以使VS重新保存该文件。 ,它神奇地填充了空的Designer文件!
这样,这个问题就解决了。 但是,如果有人知道为什么a)首先我的设计器文件消失了,以及b)如果有任何更好的方法迫使VS在它们消失时重新生成设计器文件,那就太好了。
这是VS的问题,我在控件未形成的VS 2010中见证了此类问题。 每当发生这种情况时,我都会尝试以下操作-1.清洁和重建解决方案。 2.从未创建的工具箱中拖放联系人。 3.重新启动计算机。
这件事只在某些时候发生。 我建议您使用VS 2013,因为它几乎没有错误(如果不是100%)。
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.