Ich bin mir bewusst, dass diese Frage schon oft gestellt wurde, aber ich vermute, dass ich ein einzigartiges Szenario habe.Eigenschaft null nach Postback - dynamisch geladene Steuerelement
Ich werde ein Child Control (ASCX) laden und eine Eigenschaft auf diesem Steuerelement festlegen. Dies funktioniert bis Postback einwandfrei, wenn die Eigenschaft null ist.
Hier die erste Klasse, die die Child lädt:
protected override void CreateChildControls()
{
MyUserControl control = (MyUserControl)Page.LoadControl(_ascxPath);
control.MyProperty = base.MyProperty
Controls.Add(control);
}
Dann auf meinem Child Control habe ich den folgenden Code bekam:
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;
Woher wird 'CreateChildControls' aufgerufen? Wird es immer erstellt, unabhängig davon, was "IsPostBack" ist? –
Es wird immer aufgerufen. Dies ist eine Sharepoint-Lösung. Das CreateChildControls() -Ereignis/die Methode befindet sich in einer Klasse, die von Microsoft.SharePoint.WebPartPages.WebPart erbt. Ich bezweifle jedoch, wenn das Problem Sharepoint betrifft. – Fox