Warum kann ich nicht auf den Seitenstatus in Usercontrol zugreifen?

Ich gespeichert, die ein Objekt in viewstate auf der Seite. Wenn ich jetzt Zugriff auf die gleiche viewsate Objekt usercontrol,es zeigt wie null. Ich habe sogar versucht, um das gleich viewstate mit gleichen Namen in usercontrol und die Seite.Beides hat verschiedene Wert.

Ich verstehen, dass der viewstate ist eine geschützte Eigenschaft. Wie funktioniert diese Sache, die Umsetzung in den oben scenerio oder gibt es irgendeinen anderen Grund für dieses Verhalten.

Edit:

Usercontrol ist es in der markup der Seite. Ich bin nicht geladen, sondern dynamisch.

Ich habe eine Seite EditFacilityworkType.aspx. Auf Seite habe ich ein usercontrol FacilityWorkTypeDetails.aspx(FacilityWorkTypeDetails1). In diesem usercontrol habe ich ein user control Workflow.aspx(Workflow1)

Page_Load() auf der Seite
Ich bin abrufen workflowdetails auf page_load() der Seite.

 FacilityWorktype facilityWorkType = facilityDetails.GetFacilityWorktypeDetail(SessionHelper.FacilityWorkTypeID);
 ViewState["WorkFlow"] = facilityWorkType.FacilityWorkTypeWorkFlow

Innen usercontrol FacilityWorkTypeDetails.aspx. Ich habe eine Eigenschaft

 public FacilityWorktype FacilityWorkTypeDetails
{
    get
    {
        #region Fill FacilityWorktype
        return GetEntityFromControl();
        #endregion
    }
    set
    {
        PopulateControls(value);
    }
}

Nun setze ich diese Eigenschaft in die Seite laden der Seite

FacilityWorkTypeDetails1.FacilityWorkTypeDetails = facilityWorkType;

Innen-Workflow.aspx habe ich eine Eigenschaft

///<summary>
///Property to fill entity object from controls on this page
///</summary>
public WorkFlow WorkFlowDetails
{
    get
    {
        return GetEntityFromControls();
    }
    set
    {            
        BindTranscriptionMethodDDL(ddlTranscMethod);
        PopulateControls(value);
    }
}

Nun PopulateControls() von FacilityWorkTypeDetails1, ich bin Einstellung der Eigenschaft von workflow1

private void PopulateControls(FacilityWorktype Wert)
{

    Workflow1.WorkFlowDetails = value.FacilityWorkTypeWorkFlow;
}

Nun, wenn ich bin, abrufen von Werten von

 private WorkFlow GetEntityFromControls()
 {
     WorkFlow workFlow = (ViewState["WorkFlow"] as WorkFlow) ?? new WorkFlow();  
     //workFlow  is null

 }

Nun also innerhalb dieser Funktion workFlow ist null. Ich möchte Fragen,warum ist es null, wenn ich viewstate-in-Seite.

InformationsquelleAutor der Frage Rohit | 2010-06-11

Schreibe einen Kommentar