none
dinamik user control yükleme sorunu RRS feed

  • Genel Tartışma

  • merhaba bir kaç user control sayfam var.Ana sayfada navigation menude tıkladığım yere göre istediğim user control sayfasını dinamik olarak yüklüyorum.Çalışıyorda ancak sorun bir user control yüklendikten sonra ikinci kez tıkladığımda tekrar yüklenmiyor

    instance referance  hatası alıyorum

      
      protected override void OnPreInit(EventArgs e)
            {
                LoadControl();
                base.OnPreInit(e);
            }
            protected override void OnInit(EventArgs e)
            {
                base.OnInit(e);
            }
            protected void Page_Load(object sender, EventArgs e)
            {
                
            }   
     
            private void LoadControl()
            {
                if (Session["VirtualPath"] != null)
                {
                    string virtualPath = Session["VirtualPath"].ToString();
                    Control control = Page.LoadControl(virtualPath);
                    Guid Id = Guid.NewGuid();
                    control.ID = string.Format("Dynamic_{0}", Id);
    
                    Session["userControlId"] = control.ID;
                    cbpnlLoadPage.Controls.Add(control);
                }
            }
     
    
            protected void cbpnlLoadPage_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
            {
                var callbackParams = Utility.GetCallbackParams();
    
                Guid sId = Guid.Empty;
                if (IsCallback)
                {
                    cbpnlLoadPage.HideContentOnCallback = true;
                }
                switch (callbackParams["Action"])
                {              
                    case "ChangeTab":
                        Session["VirtualPath"] = null;
                        switch (callbackParams["TabName"])
                        {
                            case "AddCategory":
                                Session["VirtualPath"] = "~/DynamicPages/AddCategory.ascx";
    
                                break;
    
                            case "CategoryList":
                                Session["VirtualPath"] = "~/DynamicPages/CategoryList.ascx";
    
                                break;
    
                            case "AddProduct":
                                Session["VirtualPath"] = "~/DynamicPages/AddProduct.ascx";
    
                                break;
    
                            case "ProductProperty":
                                Session["VirtualPath"] = "~/DynamicPages/ProductProperty.ascx";
    
                                break;
    
                            case "ProductList":
                                Session["VirtualPath"] = "~/DynamicPages/ProductList.ascx";
    
                                break;
    
                            case "DepotManagment":
                                Session["VirtualPath"] = "~/DynamicPages/DepotManagment.ascx";
    
                                break;
                            case "ProductAnalysis":
                                Session["VirtualPath"] = "~/DynamicPages/ProductAnalysis.ascx";
    
                                break;
    
                            case "AddOrder":
                                Session["VirtualPath"] = "~/DynamicPages/AddOrder.ascx";
    
                                break;
    
                            case "OrderList":
                                Session["VirtualPath"] = "~/DynamicPages/OrderList.ascx";
    
                                break;
                            default:
                                break;
                        }
                        cbpnlLoadPage.Controls.Clear();
                        LoadControl();
                        break;
                }
    
            }



    1 Mayıs 2013 Çarşamba 18:47