Я знаю, что этот вопрос задавался много раз, но я подозреваю, что у меня есть уникальный сценарий.Свойство null после обратной передачи - Динамически загруженный элемент управления
Я загружаю Child Control (ASCX) и устанавливаю свойство в этом элементе управления. Это работает отлично до тех пор, пока не будет возвращено значение, когда свойство равно null.
При этом первый класс, который загружает ChildControl:
protected override void CreateChildControls()
{
MyUserControl control = (MyUserControl)Page.LoadControl(_ascxPath);
control.MyProperty = base.MyProperty
Controls.Add(control);
}
Затем на моем контроле ребенка У меня есть следующий код:
public partial class MyUserControl : UserControl
{
public MyType MyProperty { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
//Exception on next line because Property is null (only on postback)
var somevalue = MyProperty.SubProperty;
Адрес: сгенерирован 'CreateChildControls'? Всегда ли он создан независимо от того, что такое «IsPostBack»? –
Он всегда называется. Это решение Sharepoint. Событие/метод CreateChildControls() находится внутри класса, который наследуется от Microsoft.SharePoint.WebPartPages.WebPart. Я сомневаюсь, что если проблема связана с Sharepoint. – Fox