コード例 #1
0
ファイル: QubeStandardForm.cs プロジェクト: darkguy2008/qube
        protected override void Render(HtmlTextWriter w)
        {
            base.RenderBeginTag(w);

            foreach (Control c in Controls)
            {
                Panel p = new Panel();
                if (c.GetType().GetInterfaces().Contains(typeof(IQubeFormField)) && c.Parent.GetType() == typeof(QubeStandardPanel))
                {
                    IQubeFormField fld = c as IQubeFormField;

                    if(RenderFieldsOuterDiv)
                        p.RenderBeginTag(w);
                    HtmlCustomControl lbField = new HtmlCustomControl("label");
                    lbField.Attributes["for"] = c.ClientID;
                    lbField.Controls.Add(new Literal() { Text = ((IQubeFormField)c).DisplayName + ":" });
                    HtmlCustomControl span = new HtmlCustomControl("span");
                    if (!string.IsNullOrEmpty(fld.DisplayName))
                    {
                        lbField.RenderControl(w);
                        span.RenderBeginTag(w);
                    }
                    c.RenderControl(w);
                    if (!string.IsNullOrEmpty(fld.DisplayName))
                        span.RenderEndTag(w);
                    if (RenderFieldsOuterDiv)
                        p.RenderEndTag(w);
                    continue;
                }
                else if (c.GetType() == typeof(Captcha))
                {
                    if (RenderFieldsOuterDiv)
                        p.RenderBeginTag(w);
                    HtmlCustomControl lbField = new HtmlCustomControl("label");
                    lbField.Controls.Add(new Literal() { Text = " " });
                    HtmlCustomControl span = new HtmlCustomControl("span");
                    lbField.RenderControl(w);
                    span.RenderBeginTag(w);
                    c.RenderControl(w);
                    span.RenderEndTag(w);
                    if (RenderFieldsOuterDiv)
                        p.RenderEndTag(w);
                }
                else
                    c.RenderControl(w);
            }

            base.RenderEndTag(w);
        }