Beispiel #1
0
        private List <HtmlTag> GetChildNodes()
        {
            List <HtmlTag> nodes = new List <HtmlTag>();

            if (EndTagType != EndTag.EndTag)
            {
                return(nodes);
            }
            string tempInner = InnerHtml.Replace('\n', ' ').Replace('\0', ' ');
            var    temp      = Regex.Matches(tempInner, @"(?!</)(<(\w+).*?>)", RegexOptions.Compiled | RegexOptions.IgnoreCase);

            while (temp.Count > 0)
            {
                EndTag endType = EndTag.SelfEnd;
                var    node    = new HtmlTag();
                node.Name = temp[0].Groups[2].Value.ToUpper();
                var s = Regex.Matches(temp[0].Value, @"\w+");
                if (s.Count > 0)
                {
                    node.Html = TagReader.ReadToEndTag(tempInner, node.Name, temp[0], out endType);
                }
                tempInner       = tempInner.Substring(node.Html.Length);
                temp            = Regex.Matches(tempInner, @"(?!</)(<(\w+).*?>)", RegexOptions.Compiled | RegexOptions.IgnoreCase);
                node.EndTagType = endType;
                nodes.Add(node);
            }
            return(nodes);
        }
 /// <summary>
 /// 添加模板生成器
 /// </summary>
 private void AddTemplateBuilder()
 {
     if (this.HasInnerHtml)
     {
         return;
     }
     InnerHtml.AppendHtml(_templateBuilder);
 }
Beispiel #3
0
 public void SetInnerText(string text)
 {
     InnerHtml.Clear();
     if (!string.IsNullOrEmpty(text))
     {
         InnerHtml.Append(text);
     }
 }
Beispiel #4
0
        internal override string show()
        {
            if (Provider.Request["genericFormForm"] == this.Id.ToString())
            {
                string rowFormat = "<tr><td valign=top>{0} :</td><td valign=top>{1}</td></tr>";

                StringBuilder sbMsg = new StringBuilder();
                sbMsg.Append("<table>");
                foreach (string key in Provider.Request.Form.AllKeys)
                {
                    if (key == "genericFormForm")
                    {
                        continue;                           //***
                    }
                    sbMsg.AppendFormat(rowFormat, key, Provider.Request[key]);
                }
                sbMsg.Append("</table>");
                sbMsg.Append("<hr/>");
                sbMsg.Append("<table>");
                sbMsg.AppendFormat(rowFormat, Provider.GetModuleResource("Date"), DateTime.Now);
                sbMsg.AppendFormat(rowFormat, Provider.GetModuleResource("User"), Provider.User.Name + " (ID: " + Provider.User.Id + ")");
                sbMsg.AppendFormat(rowFormat, Provider.GetModuleResource("IP"), Provider.Request.UserHostAddress);
                sbMsg.AppendFormat(rowFormat, Provider.GetModuleResource("Referrer"), Provider.Request.UrlReferrer.ToString());
                sbMsg.AppendFormat(rowFormat, Provider.GetModuleResource("User Agent"), Provider.Request.UserAgent);
                sbMsg.Append("</table>");

                try
                {
                    if (InnerHtml.Contains("_CAPTCHA_") && Provider.Session["captcha"].ToString() != Provider.Request["capt"])
                    {
                        throw new Exception("Lütfen işlem sonucunu tekrar giriniz.");
                    }

                    Provider.SendMailWithAttachment(this.Subject, sbMsg.ToString());
                    return(thanksMessage);
                }
                catch (Exception ex)
                {
                    errorMessage = ex.Message.Replace("\n", "<br/>\n");
                }
            }

            var r = new Random();
            int a = r.Next(10) + 1;
            int b = r.Next(10) + 1;

            Provider.Session["captcha"] = (a + b).ToString();
            string captcha = "<span class=\"capCont\"><label>" + (a + " + " + b + " = ? </label>");

            captcha += "<input class=\"capt\" type=\"text\" name=\"capt\" value=\"\" size=\"3\"/><br/></span>";

            InnerHtml = InnerHtml.Replace("_CAPTCHA_", captcha);

            return(base.show());
        }
Beispiel #5
0
        public void WriteTo(TextWriter writer, HtmlEncoder encoder)
        {
            if (writer == null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            if (encoder == null)
            {
                throw new ArgumentNullException(nameof(encoder));
            }

            switch (TagRenderMode)
            {
            case TagRenderMode.StartTag:
                writer.Write('<');
                writer.Write(TagName);
                AppendAttributes(writer, encoder);
                writer.Write('>');
                break;

            case TagRenderMode.EndTag:
                writer.Write("</");
                writer.Write(TagName);
                writer.Write('>');
                break;

            case TagRenderMode.SelfClosing:
                writer.Write('<');
                writer.Write(TagName);
                AppendAttributes(writer, encoder);
                writer.Write(" />");
                break;

            default:
                writer.Write('<');
                writer.Write(TagName);
                AppendAttributes(writer, encoder);
                writer.Write('>');
                InnerHtml.WriteTo(writer, encoder);
                writer.Write("</");
                writer.Write(TagName);
                writer.Write('>');
                break;
            }
        }
Beispiel #6
0
        /// <inheritdoc />
        public void WriteTo(TextWriter writer, HtmlEncoder encoder)
        {
            var htmlTextWriter = writer as HtmlTextWriter;

            if (htmlTextWriter != null)
            {
                // As a perf optimization, we can buffer this output rather than writing it
                // out character by character.
                htmlTextWriter.Write(this);
                return;
            }

            switch (TagRenderMode)
            {
            case TagRenderMode.StartTag:
                writer.Write("<");
                writer.Write(TagName);
                AppendAttributes(writer, encoder);
                writer.Write(">");
                break;

            case TagRenderMode.EndTag:
                writer.Write("</");
                writer.Write(TagName);
                writer.Write(">");
                break;

            case TagRenderMode.SelfClosing:
                writer.Write("<");
                writer.Write(TagName);
                AppendAttributes(writer, encoder);
                writer.Write(" />");
                break;

            default:
                writer.Write("<");
                writer.Write(TagName);
                AppendAttributes(writer, encoder);
                writer.Write(">");
                InnerHtml.WriteTo(writer, encoder);
                writer.Write("</");
                writer.Write(TagName);
                writer.Write(">");
                break;
            }
        }
        /// <summary>
        /// Renders the HTML tag by using the specified render mode.
        /// </summary>
        /// <param name="renderMode">The render mode.</param>
        /// <returns>The rendered HTML tag.</returns>
        public string ToString(TagRenderMode renderMode)
        {
            this.TagRenderMode = renderMode;

            if (renderMode != TagRenderMode.EndTag)
            {
                foreach (var html in HtmlList)
                {
                    InnerHtml.AppendHtml(html.ToString());
                }
            }

            StringWriter writer = new StringWriter();

            WriteTo(writer, HtmlEncoder.Default);
            return(writer.ToString());
        }
Beispiel #8
0
        public FileUploaderTagBuilder(string name, string controllerName, IEnumerable <string> allowedExtensions, int fileMaxSize, int numberOfFilesToUpload, bool multiple, string onSuccessCallback, string onDeleteCallback)
            : base("div")
        {
            var    id      = TagBuilder.CreateSanitizedId(name, "_");
            string divName = string.Format("{0}_attachement_div", id);
            string allowedExtensionsString =
                string.Format("[{0}]", string.Join(',', allowedExtensions.Select(x => $"'{x}'")));

            InnerHtml.AppendHtml(string.Format("<div id='{0}' class='uploader'><div class='file_uploader'></div><div class='file_uploader_message'></div></div>", divName));
            InnerHtml.AppendHtml(string.Format("<script>$(function () {{initUploader('{0}', '{1}', '{2}', {3}, {4},  '{5}', '{6}', '{7}', {8});}});</script>",

                                               divName,
                                               id,
                                               controllerName,
                                               allowedExtensionsString,
                                               fileMaxSize.ToString(),
                                               onSuccessCallback,
                                               onDeleteCallback,
                                               multiple,
                                               numberOfFilesToUpload
                                               ));
        }
Beispiel #9
0
        /// <inheritdoc />
        public void WriteTo(TextWriter writer, IHtmlEncoder encoder)
        {
            switch (TagRenderMode)
            {
            case TagRenderMode.StartTag:
                writer.Write("<");
                writer.Write(TagName);
                AppendAttributes(writer, encoder);
                writer.Write(">");
                break;

            case TagRenderMode.EndTag:
                writer.Write("</");
                writer.Write(TagName);
                writer.Write(">");
                break;

            case TagRenderMode.SelfClosing:
                writer.Write("<");
                writer.Write(TagName);
                AppendAttributes(writer, encoder);
                writer.Write(" />");
                break;

            default:
                writer.Write("<");
                writer.Write(TagName);
                AppendAttributes(writer, encoder);
                writer.Write(">");
                InnerHtml.WriteTo(writer, encoder);
                writer.Write("</");
                writer.Write(TagName);
                writer.Write(">");
                break;
            }
        }