2017-03-18 79 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

相关问题