コード例 #1
0
        /// <summary>
        /// Render this control to the output parameter specified.
        /// </summary>
        /// <param name="output"> The HTML writer to write out to </param>
        protected override void Render(HtmlTextWriter output)
        {
            PageErrors errors = PageErrors.getErrors(null, Page);

            if (errors != null)
            {
                if (name == null)
                {
                    if (!errors.isEmpty())
                    {
                        StringBuilder b = new StringBuilder();

                        ResourceManager rm = DBUtils.getResourceManager();

                        CultureInfo ci = CultureInfo.CurrentUICulture;
                        if (showPrompt)
                        {
                            b.Append(rm.GetString("validate.prompt", ci));
                        }

                        foreach (Error s in errors.globalErrors)
                        {
                            b.Append("\n" + s.getPrompt(errors.db, rm, ci));
                        }

                        if (showFieldErrors)
                        {
                            foreach (string key in errors.errors.Keys)
                            {
                                Error er = errors.getError(key);
                                b.Append("\n - " + er.getPrompt(errors.db, rm, ci));
                            }
                        }
                        writeError(output, b, Page, errors);

                        if (isPopup)
                        {
                            output.Write("<script defer>alert(\"");
                            output.Write(b.ToString().Replace("\n", "\\n"));
                            output.Write("\");</script>");
                        }
                        else
                        {
                            output.Write(HTMLUtils.toHTMLText(b.ToString()));
                        }
                    }
                }
                else
                {
                    if (errors.hasError(name))
                    {
                        ResourceManager rm = DBUtils.getResourceManager();
                        Error           er = errors.getError(name);
                        output.Write("<span style=\"color:#ff0000\">");
                        output.Write(er.getFieldPrompt(errors.db, rm));
                        output.Write("</span>");
                    }
                }
            }
        }
コード例 #2
0
 public void writeError(HtmlTextWriter output, StringBuilder b, Control ctrl, PageErrors errors)
 {
     foreach (Control c in ctrl.Controls)
     {
         if (c.GetType() == typeof(PageError))
         {
             PageError pe = (PageError)c;
             if (pe.Name != null)
             {
                 if (errors.hasError(pe.Name))
                 {
                     ResourceManager rm = DBUtils.getResourceManager();
                     Error           er = errors.getError(pe.Name);
                     b.Append("\n - " + er.getPrompt(errors.db, rm));
                 }
             }
         }
         writeError(output, b, c, errors);
     }
 }