/// <summary>
        /// Constructor parses parameters and applies properties as directed.
        /// </summary>
        /// <param name="control">Pass "this" from the user control</param>
        /// <param name="applyProperties">Set user control properties corresponding to parameter names to parameter values.</param>

        public SublayoutParamHelper(System.Web.UI.UserControl control, bool applyProperties)
        {
            _sublayout = control.Parent as Sitecore.Web.UI.WebControls.Sublayout;
            //Sitecore.Links.LinkManager.GetItemUrl

            // Parse parameters passed to the sc:sublayout control.

            if (_sublayout != null)
            {
                _params = Sitecore.Web.WebUtil.ParseUrlParameters(_sublayout.Parameters);

                if (applyProperties)
                {
                    foreach (string key in _params.Keys)
                    {
                        Sitecore.Reflection.ReflectionUtil.SetProperty(control, key, _params[key]);
                    }

                    if (_dataSource != null)
                    {
                        Sitecore.Reflection.ReflectionUtil.SetProperty(control, "datasource", DataSourceItem.Paths.FullPath);
                        Sitecore.Reflection.ReflectionUtil.SetProperty(control, "datasourceitem", DataSourceItem);
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        /// Constructor parses parameters and applies properties as directed.
        /// </summary>
        /// <param name="control">Pass "this" from the user control</param>
        /// <param name="applyProperties">Set user control properties corresponding to parameter names to parameter values.</param>
        public SublayoutParamHelper(System.Web.UI.UserControl control, bool applyProperties )
        {
            _sublayout = control.Parent as Sitecore.Web.UI.WebControls.Sublayout;

            // Parse parameters passed to the sc:sublayout control.

            if (_sublayout != null)
            {
                _params = Sitecore.Web.WebUtil.ParseUrlParameters(_sublayout.Parameters);

                if (applyProperties)
                {
                    foreach (string key in _params.Keys)
                    {
                        Sitecore.Reflection.ReflectionUtil.SetProperty(control, key, _params[key]);
                    }

                    if (_dataSource != null)
                    {
                        Sitecore.Reflection.ReflectionUtil.SetProperty(control, "datasource", DataSourceItem.Paths.FullPath);
                        Sitecore.Reflection.ReflectionUtil.SetProperty(control, "datasourceitem", DataSourceItem);
                    }
                }
            }
        }
        void lvArticles_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            if (e.Item.ItemType == ListViewItemType.DataItem)
            {
                DefaultArticlePageItem article = (DefaultArticlePageItem)e.Item.DataItem;

                Sitecore.Web.UI.WebControls.Sublayout sbArticleEntry = (Sitecore.Web.UI.WebControls.Sublayout)e.Item.FindControl("sbArticleEntry");
                sbArticleEntry.DataSource = article.ID.ToString();
            }
        }
        private void Page_Load(object sender, EventArgs e)
        {
            // Put user code to initialize the page here

            Sitecore.Data.Items.Item MyItem = null;
            Sitecore.Web.UI.WebControls.Sublayout myLayout = ((Sitecore.Web.UI.WebControls.Sublayout) this.Parent);

            if (String.IsNullOrEmpty(myLayout.DataSource) || myLayout.DataSource.Equals("RedirectDataNewDataSource"))
            {
                MyItem = HealthIS.Apps.Util.createDatasourceItem("User Defined/Sublayouts/RedirectData", "RedirectDataNewDataSource", "_RD");
                //Response.Write("<script type='text/javascript'>setTimeout(function(){location.reload();},3000);</script>");
            }
            else
            {
                MyItem = Sitecore.Context.Database.GetItem(myLayout.DataSource);
            }
            if (MyItem == null)
            {
                Response.Write("No DatasourceDefined");
                return;
            }

            if (Sitecore.Context.PageMode.IsPageEditorEditing)
            {
                loc.Item = MyItem;
                sc.Item  = MyItem;
            }
            else
            {
                string urlEnding = MyItem.Fields["New Location"].Value.ToString();

                /*if (HealthIS.Apps.Util.isOnProduction())
                 * {
                 *  Response.Redirect(urlEnding, false);
                 *
                 * }
                 * else
                 * {
                 *  Response.Redirect( urlEnding, false);
                 * }*/
                Response.Redirect(urlEnding, false);
                Response.StatusCode = System.Convert.ToInt16(MyItem.Fields["Status Code"].Value.ToString());
                Response.End();
                Response.Write("url:" + urlEnding);
            }
        }
示例#5
0
        private void Page_Load(object sender, EventArgs e)
        {
            // Put user code to initialize the page here

            Sitecore.Data.Items.Item MyItem = null;
            Sitecore.Web.UI.WebControls.Sublayout myLayout = ((Sitecore.Web.UI.WebControls.Sublayout) this.Parent);
            int  statusCode = 302;
            bool handled    = false;

            if (String.IsNullOrEmpty(myLayout.DataSource) || myLayout.DataSource.Equals("RedirectDataPersonIDNewDataSource"))
            {
                MyItem = HealthIS.Apps.Util.createDatasourceItem("User Defined/Sublayouts/RedirectDataPersonID", "RedirectDataPersonIDNewDataSource", "_RD");
                //Response.Write("<script type='text/javascript'>setTimeout(function(){location.reload();},3000);</script>");
            }
            else
            {
                MyItem = Sitecore.Context.Database.GetItem(myLayout.DataSource);
            }
            if (MyItem == null)
            {
                Response.Write("No DatasourceDefined");
                return;
            }

            if (Sitecore.Context.PageMode.IsPageEditorEditing)
            {
                loc.Item = MyItem;
                sc.Item  = MyItem;
                QueryStringField.Item = MyItem;
                NewBaseLocation.Item  = MyItem;
            }
            else
            {
                try
                {
                    statusCode = System.Convert.ToInt16(MyItem.Fields["Status Code"].Value);
                    string pid = Request.QueryString[MyItem.Fields["queryStringVariable"].Value.ToString()].ToString();
                    if (pid != null && pid.Trim() != "")
                    {
                        //statusCode = 302;
                        HealthIS.Apps.Util.person p = HealthIS.Apps.Util.getFacultyBasicInfo(pid);
                        string fname = p.first_name.Trim().Replace(' ', '-');
                        string lname = p.last_name.Trim().Replace(' ', '-');

                        string urlEnding = MyItem.Fields["New Base Location"].Value.ToString() + pid.Trim() + "/" + fname + '-' + lname + ".aspx";
                        if (HealthIS.Apps.Util.isOnProduction())
                        {
                            Response.Redirect("http://health.usf.edu" + urlEnding, false);
                        }
                        else
                        {
                            Response.Redirect("http://sitecoreqa2.hscnet.hsc.usf.edu" + urlEnding, false);
                        }
                    }
                    else
                    {
                        Response.Redirect(MyItem.Fields["New Default Location"].Value, false);
                    }
                    handled = true;
                }
                catch (Exception ex)
                {
                    //Response.StatusCode = 404;
                    //Response.End();
                    //Response.Redirect("http://health.usf.edu/doctors/dermatology/cosmetics/providers");
                    Response.Write("<div style='width:100%; height:500px; background:#000; color:#FFF'>There was an error with your request." + ex.Message + "<br/>" + ex.StackTrace + "</div>");
                }
                if (!handled)
                {
                    statusCode = System.Convert.ToInt16(MyItem.Fields["Status Code"].Value);
                    Response.Redirect(MyItem.Fields["New Default Location"].Value, false);
                }
                Response.StatusCode = statusCode;
                Response.End();
            }



/*        Sitecore.Data.Items.Item MyItem = null;
 *      Sitecore.Web.UI.WebControls.Sublayout myLayout = ((Sitecore.Web.UI.WebControls.Sublayout)this.Parent);
 *
 *
 *
 *      if (String.IsNullOrEmpty(myLayout.DataSource) || myLayout.DataSource.Equals("SublayoutContentAreaNewDataSource"))
 *          MyItem = HealthIS.Apps.Util.createDatasourceItem("User Defined/Sublayouts/RedirectData", "SublayoutContentAreaNewDataSource", "_RD");
 *       else
 *           MyItem = Sitecore.Context.Database.GetItem(myLayout.DataSource);
 *       if (MyItem == null){
 *          Response.Write(myLayout.DataSource+"Had problems getting settings object");
 *           return;
 *       }
 *
 *       if (Sitecore.Context.PageMode.IsPageEditorEditing)
 *           showPageEditorView(MyItem);
 *       else
 *           showPageNormalView(MyItem);*/
        }
 public SublayoutParamHelper(Sitecore.Web.UI.WebControls.Sublayout sublayout)
 {
     _sublayout = sublayout;
 }
示例#7
0
 public SublayoutParamHelper(Sitecore.Web.UI.WebControls.Sublayout sublayout)
 {
     _sublayout = sublayout;
 }