ASP.Net:这个LoadControl在做什么?

时间:2010-12-22 13:10:40

标签: asp.net

我有一个aspx页面,它有一个CodeBehind,它引用了一个带有函数的页面aspx.cs,并在它引用的函数中引用了具有以下代码的Inherits。知道这是指什么吗?

Control ctrl = LoadControl(System.Configuration.ConfigurationManager.AppSettings["CandidateShortControl"]);
ctrl.ID = "AccountControl";
pnlContainer.Controls.Add(ctrl);

- 编辑 - 人们可能会在代码中找到这个AccountControl?还是CandidateShortControl?或者就像问大海捞针在哪里?

3 个答案:

答案 0 :(得分:4)

LoadControll方法允许您动态加载控件。

在您给出的示例中,看起来控件的名称(“mycontrolname.ascx”或其他)存储在AppSettings文件中。

加载控件后,可以将其添加到页面中,如果已经给出,则添加到名为pnlContainer

的面板控件中

代码的扩展版本可能如下所示:

// Obtain our control name from the AppSettings file
string controlName = System.Configuration.ConfigurationManager.AppSettings["CandidateShortControl"];

// Load the control into a variable
Control ctrl = LoadControl(controlName);

// Give our loaded control a unique ID
ctrl.ID = "AccountControl";

// Add the loaded control to a panel control in our page
pnlContainer.Controls.Add(ctrl);

答案 1 :(得分:0)

添加到设置中的控件? (Web.config中)

答案 2 :(得分:0)

这里的要点是只在某些情况下才需要UserControl。不是在页面加载时一直加载控件,而是仅在需要时添加。它是动态添加的。