コード例 #1
0
        public void Process(HandlebarHelpersPipelineArgs pipelineArgs)
        {
            pipelineArgs.Helpers.Add(new HandlebarHelperRegistration("editFrame", (writer, options, context, args) =>
            {
                string id      = args[0] as string;
                string buttons = args[1] as string;
                string title   = args[2] as string;

                var editFrame        = new Sitecore.Web.UI.WebControls.EditFrame();
                editFrame.DataSource = id;
                editFrame.Buttons    = buttons;
                editFrame.Title      = title;

                var sb         = new StringBuilder();
                var sw         = new StringWriter(sb);
                var htmlWriter = new HtmlTextWriter(sw);
                editFrame.RenderFirstPart(htmlWriter);
                writer.WriteSafeString(sb.ToString());

                options.Template(writer, (object)context);

                sb.Clear();
                editFrame.RenderLastPart(htmlWriter);
                writer.WriteSafeString(sb.ToString());
            }));
        }
コード例 #2
0
        public static EditFrame BeginEditFrame(this HtmlHelper htmlHelper, Sitecore.Web.UI.WebControls.EditFrame editFrame)
        {
            var output = new HtmlTextWriter(htmlHelper.ViewContext.Writer);

            editFrame.RenderFirstPart(output);
            return(new EditFrame(editFrame));
        }
コード例 #3
0
 public EditFrame(string buttons, TextWriter writer, string dataSource = DefaultEditButtons)
 {
     this._frame = new Sitecore.Web.UI.WebControls.EditFrame
     {
         DataSource = dataSource,
         Buttons    = buttons
     };
     this._writer = new HtmlTextWriter(writer);
 }
コード例 #4
0
 public EditFrame(Sitecore.Web.UI.WebControls.EditFrame frame)
 {
     this._frame = frame;
 }