我有一个aspx页面,它有一个CodeBehind,它引用了一个带有函数的页面aspx.cs,并在它引用的函数中引用了具有以下代码的Inherits。知道这是指什么吗?
Control ctrl = LoadControl(System.Configuration.ConfigurationManager.AppSettings["CandidateShortControl"]);
ctrl.ID = "AccountControl";
pnlContainer.Controls.Add(ctrl);
- 编辑 - 人们可能会在代码中找到这个AccountControl?还是CandidateShortControl?或者就像问大海捞针在哪里?
答案 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。不是在页面加载时一直加载控件,而是仅在需要时添加。它是动态添加的。