2017-03-18 134 views
1

只是好奇!如何在Asp.Net文件後面的代碼中訪問服務器端控件?

我在想,究竟發生了什麼,以便在.aspx頁面中定義的,具有「runat」屬性的控件可以在代碼隱藏文件中訪問?

.aspx頁:

頁後面的代碼: lbl.Text = 「這是一個標籤」;

如果任何人都可以分享一些關於這裏發生的事情的信息,在添加「runat」屬性後,我的標籤在代碼後面是如何訪問的?

回答

2

每次你改變你的aspx文件Visual Studio將重新生成一個名爲{} YourPageName文件.aspx.designer.cs與屬性RUNAT =「服務器」在聲明它的控制。

所以,如果你在你的aspx文件這樣的標籤控件:

再有就是你.aspx.designer.cs文件中聲明一個變量,它是這樣的自動生成:

protected global::System.Web.UI.WebControls.Label lbl; 

由於您的頁面聲明爲partial類,您可以在文件後面的代碼中訪問lbl

您可以打開文件並查看其內容。

+0

我從MSDN論壇發現,「如果你創建網站,webform將只包含aspx文件和aspx.cs文件,如果你創建web應用程序,webform將包含aspx文件,aspx.cs和aspx.designer.cs文件。」。在WebApplication的情況下,設計器文件可幫助我們訪問頁面代碼上的控件,但WebSite中沒有設計器文件可用。在頁面後面的代碼中仍然可以訪問控件? – sunil20000

+0

找到了我的查詢的答案:http://stackoverflow.com/a/22249090 – sunil20000

相關問題