예제 #1
0
    /// <summary>
    /// Adds a widget of the specified type.
    /// </summary>
    /// <param name="type">The type of widget.</param>
    /// <param name="zone">The zone a widget is being added to.</param>
    private void AddWidget(string type, string zone)
    {
        WidgetBase widget = (WidgetBase)LoadControl(Utils.RelativeWebRoot + "widgets/" + type + "/widget.ascx");

        widget.WidgetID  = Guid.NewGuid();
        widget.ID        = widget.WidgetID.ToString().Replace("-", string.Empty);
        widget.Title     = type;
        widget.Zone      = zone;
        widget.ShowTitle = widget.DisplayHeader;
        widget.LoadWidget();

        Response.Clear();
        try
        {
            using (StringWriter sw = new StringWriter())
            {
                widget.RenderControl(new HtmlTextWriter(sw));

                // Using ? as a delimiter. ? is a safe delimiter because it cannot appear in a
                // zonename because ? is one of the characters removed by Utils.RemoveIllegalCharacters().
                Response.Write(zone + "?" + sw);
            }
        }
        catch (System.Web.HttpException)
        {
            Response.Write("reload");
        }

        SaveNewWidget(widget, zone);
        WidgetEditBase.OnSaved();
        Response.End();
    }
예제 #2
0
    /// <summary>
    /// Adds a widget of the specified type.
    /// </summary>
    /// <param name="type">The type of widget.</param>
    private void AddWidget(string type)
    {
        WidgetBase widget = (WidgetBase)LoadControl(Utils.RelativeWebRoot + "widgets/" + type + "/widget.ascx");

        widget.WidgetID  = Guid.NewGuid();
        widget.ID        = widget.WidgetID.ToString().Replace("-", string.Empty);
        widget.Title     = type;
        widget.ShowTitle = widget.DisplayHeader;
        widget.LoadWidget();

        Response.Clear();
        try
        {
            using (StringWriter sw = new StringWriter())
            {
                widget.RenderControl(new HtmlTextWriter(sw));
                Response.Write(sw);
            }
        }
        catch (System.Web.HttpException)
        {
            Response.Write("reload");
        }

        SaveNewWidget(widget);
        WidgetEditBase.OnSaved();
        Response.End();
    }