相关疑难解决方法(0)

为什么我无法访问usercontrol中的页面视图状态?

我在Page的viewstate中存储了一个对象.现在,当我在usercontrol上访问相同的viewsate对象时,它显示为null.我甚至尝试在usercontrol和page中创建具有相同名称的相同viewstate.Both拥有不同的值.

我知道viewstate是受保护的属性.这个东西如何在上面的场景中实现,或者是否有任何其他原因导致这种行为.

编辑:

Usercontrol在页面标记中.我没有动态加载它.

我有一个页面EditFacilityworkType.aspx.在页面上,我有一个usercontrol FacilityWorkTypeDetails.aspx(FacilityWorkTypeDetails1).在这个usercontrol里面我有一个用户控件Workflow.aspx(Workflow1)

Page的Page_Load()我正在页面的page_load()上检索workflowdetails.

 FacilityWorktype facilityWorkType = facilityDetails.GetFacilityWorktypeDetail(SessionHelper.FacilityWorkTypeID);
 ViewState["WorkFlow"] = facilityWorkType.FacilityWorkTypeWorkFlow
Run Code Online (Sandbox Code Playgroud)

在usercontrol FacilityWorkTypeDetails.aspx中.我有一个房产

 public FacilityWorktype FacilityWorkTypeDetails
{
    get
    {
        #region Fill FacilityWorktype
        return GetEntityFromControl();
        #endregion
    }
    set
    {
        PopulateControls(value);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我在页面的页面加载中设置此属性

FacilityWorkTypeDetails1.FacilityWorkTypeDetails = facilityWorkType;
Run Code Online (Sandbox Code Playgroud)

在Workflow.aspx里面,我有一个属性

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

现在是FacilityWorkTypeDetails1的PopulateControls(),我正在设置workflow1的属性

private void PopulateControls(FacilityWorktype value){

    Workflow1.WorkFlowDetails = value.FacilityWorkTypeWorkFlow;
}
Run Code Online (Sandbox Code Playgroud)

现在当我从中检索值时

 private …
Run Code Online (Sandbox Code Playgroud)

asp.net

25
推荐指数
2
解决办法
2万
查看次数

标签 统计

asp.net ×1