【发布时间】:2015-01-22 11:46:02
【问题描述】:
我有一个由 LoadControl 加载的用户控件,并且在所述用户控件背后的代码上,我尝试访问一个为 null 的控件。
Default.aspx:
protected void Page_Load(object sender, EventArgs e){
// ...
List<String> usersCustomers = custRepo.GetUserCustomers(currentUser.ID).Select(s => s.custName).ToList();
FileTrackingControl fileTrackingControl = (FileTrackingControl)LoadControl(typeof(FileTrackingControl), new object[] { usersCustomers, currentUser });
dashboardWidgetPanel.Controls.Add(fileTrackingControl);
// ...
}
FileTrackingControl.ascx:
public partial class FileTrackingControl : System.Web.UI.UserControl
{
List<string> _custNames;
User _currentUser;
public FileTrackingControl(List<string> custNames, User currentUser)
{
this._custNames = custNames;
this._currentUser = currentUser;
}
protected void Page_OnInit(object sender, EventArgs e)
{
StatToCwData scData = new StatToCwData();
GridView fileTrackingResultsFC = (GridView)FindControl("fileTrackingResults");
// CRASH HERE. NPE: fileTrackingResults is NULL
fileTrackingResults.DataSource = scData.GetControlData(6, _currentUser, _custNames);
fileTrackingResults.DataBind();
}
}
【问题讨论】:
标签: c# asp.net webforms user-controls