[英]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.