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); }
public void SetInnerText(string text) { InnerHtml.Clear(); if (!string.IsNullOrEmpty(text)) { InnerHtml.Append(text); } }
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()); }
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; } }
/// <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()); }
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 )); }
/// <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; } }