1
只是好奇!如何在Asp.Net文件后面的代码中访问服务器端控件?
我在想,究竟发生了什么,以便在.aspx页面中定义的,具有“runat”属性的控件可以在代码隐藏文件中访问?
.aspx页:
页后面的代码: lbl.Text = “这是一个标签”;
如果任何人都可以分享一些关于这里发生的事情的信息,在添加“runat”属性后,我的标签在代码后面是如何访问的?
只是好奇!如何在Asp.Net文件后面的代码中访问服务器端控件?
我在想,究竟发生了什么,以便在.aspx页面中定义的,具有“runat”属性的控件可以在代码隐藏文件中访问?
.aspx页:
页后面的代码: lbl.Text = “这是一个标签”;
如果任何人都可以分享一些关于这里发生的事情的信息,在添加“runat”属性后,我的标签在代码后面是如何访问的?
每次你改变你的aspx
文件Visual Studio将重新生成一个名为{} YourPageName文件.aspx.designer.cs与属性RUNAT =“服务器”在声明它的控制。
所以,如果你在你的aspx
文件这样的标签控件:
再有就是你.aspx.designer.cs
文件中声明一个变量,它是这样的自动生成:
protected global::System.Web.UI.WebControls.Label lbl;
由于您的页面声明为partial类,您可以在文件后面的代码中访问lbl
。
您可以打开文件并查看其内容。
我从MSDN论坛发现,“如果你创建网站,webform将只包含aspx文件和aspx.cs文件,如果你创建web应用程序,webform将包含aspx文件,aspx.cs和aspx.designer.cs文件。”。在WebApplication的情况下,设计器文件可帮助我们访问页面代码上的控件,但WebSite中没有设计器文件可用。在页面后面的代码中仍然可以访问控件? – sunil20000
找到了我的查询的答案:http://stackoverflow.com/a/22249090 – sunil20000