Browse Source

Use `Append` method instead of `HtmlEncoder`.

pull/24488/head
maliming 9 months ago
parent
commit
3692690a86
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 7
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/AbpBreadcrumbItemTagHelperService.cs
  2. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonTagHelperServiceBase.cs
  3. 12
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Card/AbpCardBodyTagHelperService.cs
  4. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselItemTagHelperService.cs
  5. 10
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionItemTagHelperService.cs
  6. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionTagHelperService.cs
  7. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs
  8. 7
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelperService.cs
  9. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelperService.cs
  10. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerBaseTagHelperService.cs
  11. 9
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalHeaderTagHelperService.cs
  12. 10
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabDropdownTagHelperService.cs
  13. 12
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabLinkTagHelperService.cs
  14. 12
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabTagHelperService.cs
  15. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabsTagHelperService.cs
  16. 1
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/TagHelpers/AbpTagHelperScriptService.cs
  17. 1
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/TagHelpers/AbpTagHelperStyleService.cs

7
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/AbpBreadcrumbItemTagHelperService.cs

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc.Rendering; using System;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Razor.TagHelpers; using Microsoft.AspNetCore.Razor.TagHelpers;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text.Encodings.Web; using System.Text.Encodings.Web;
@ -41,12 +42,12 @@ public class AbpBreadcrumbItemTagHelperService : AbpTagHelperService<AbpBreadcru
if (string.IsNullOrWhiteSpace(TagHelper.Href)) if (string.IsNullOrWhiteSpace(TagHelper.Href))
{ {
output.Attributes.Add("aria-current", "page"); output.Attributes.Add("aria-current", "page");
return _encoder.Encode(TagHelper.Title); return _encoder.Encode(TagHelper.Title ?? string.Empty);
} }
var link = new TagBuilder("a"); var link = new TagBuilder("a");
link.Attributes.Add("href", TagHelper.Href); link.Attributes.Add("href", TagHelper.Href);
link.InnerHtml.AppendHtml(_encoder.Encode(TagHelper.Title)); link.InnerHtml.Append(TagHelper.Title);
return link.ToHtmlString(); return link.ToHtmlString();
} }
} }

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonTagHelperServiceBase.cs

@ -77,7 +77,7 @@ public abstract class AbpButtonTagHelperServiceBase<TTagHelper> : AbpTagHelperSe
} }
var span = new TagBuilder("span"); var span = new TagBuilder("span");
span.InnerHtml.AppendHtml(Encoder.Encode(TagHelper.Text!)); span.InnerHtml.Append(TagHelper.Text!);
output.Content.AppendHtml(span); output.Content.AppendHtml(span);
} }

12
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Card/AbpCardBodyTagHelperService.cs

@ -1,5 +1,4 @@
using System; using System;
using System.Text.Encodings.Web;
using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Razor.TagHelpers; using Microsoft.AspNetCore.Razor.TagHelpers;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Microsoft.AspNetCore.Razor.TagHelpers; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Microsoft.AspNetCore.Razor.TagHelpers;
@ -8,13 +7,6 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Card;
public class AbpCardBodyTagHelperService : AbpTagHelperService<AbpCardBodyTagHelper> public class AbpCardBodyTagHelperService : AbpTagHelperService<AbpCardBodyTagHelper>
{ {
protected HtmlEncoder Encoder { get; }
public AbpCardBodyTagHelperService(HtmlEncoder encoder)
{
Encoder = encoder;
}
public override void Process(TagHelperContext context, TagHelperOutput output) public override void Process(TagHelperContext context, TagHelperOutput output)
{ {
output.TagName = "div"; output.TagName = "div";
@ -30,7 +22,7 @@ public class AbpCardBodyTagHelperService : AbpTagHelperService<AbpCardBodyTagHel
{ {
var cardTitle = new TagBuilder(AbpCardTitleTagHelper.DefaultHeading.ToHtmlTag()); var cardTitle = new TagBuilder(AbpCardTitleTagHelper.DefaultHeading.ToHtmlTag());
cardTitle.AddCssClass("card-title"); cardTitle.AddCssClass("card-title");
cardTitle.InnerHtml.AppendHtml(Encoder.Encode(TagHelper.Title!)); cardTitle.InnerHtml.Append(TagHelper.Title!);
output.PreContent.AppendHtml(cardTitle); output.PreContent.AppendHtml(cardTitle);
} }
} }
@ -41,7 +33,7 @@ public class AbpCardBodyTagHelperService : AbpTagHelperService<AbpCardBodyTagHel
{ {
var cardSubtitle = new TagBuilder(AbpCardSubtitleTagHelper.DefaultHeading.ToHtmlTag()); var cardSubtitle = new TagBuilder(AbpCardSubtitleTagHelper.DefaultHeading.ToHtmlTag());
cardSubtitle.AddCssClass("card-subtitle mb-2"); cardSubtitle.AddCssClass("card-subtitle mb-2");
cardSubtitle.InnerHtml.AppendHtml(Encoder.Encode(TagHelper.Subtitle!)); cardSubtitle.InnerHtml.Append(TagHelper.Subtitle!);
output.PreContent.AppendHtml(cardSubtitle); output.PreContent.AppendHtml(cardSubtitle);
} }
} }

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselItemTagHelperService.cs

@ -66,10 +66,10 @@ public class AbpCarouselItemTagHelperService : AbpTagHelperService<AbpCarouselIt
} }
var title = new TagBuilder("h5"); var title = new TagBuilder("h5");
title.InnerHtml.AppendHtml(_encoder.Encode(TagHelper.CaptionTitle!)); title.InnerHtml.Append(TagHelper.CaptionTitle!);
var caption = new TagBuilder("p"); var caption = new TagBuilder("p");
caption.InnerHtml.AppendHtml(_encoder.Encode(TagHelper.Caption!)); caption.InnerHtml.Append(TagHelper.Caption!);
var wrapper = new TagBuilder("div"); var wrapper = new TagBuilder("div");
wrapper.AddCssClass("carousel-caption d-none d-md-block"); wrapper.AddCssClass("carousel-caption d-none d-md-block");

10
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionItemTagHelperService.cs

@ -2,7 +2,6 @@
using Microsoft.AspNetCore.Razor.TagHelpers; using Microsoft.AspNetCore.Razor.TagHelpers;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text.Encodings.Web;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Extensions; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Extensions;
@ -10,13 +9,6 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Collapse;
public class AbpAccordionItemTagHelperService : AbpTagHelperService<AbpAccordionItemTagHelper> public class AbpAccordionItemTagHelperService : AbpTagHelperService<AbpAccordionItemTagHelper>
{ {
protected HtmlEncoder Encoder { get; }
public AbpAccordionItemTagHelperService(HtmlEncoder encoder)
{
Encoder = encoder;
}
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{ {
SetRandomIdIfNotProvided(); SetRandomIdIfNotProvided();
@ -40,7 +32,7 @@ public class AbpAccordionItemTagHelperService : AbpTagHelperService<AbpAccordion
button.Attributes.Add("data-bs-target", "#" + GetContentId()); button.Attributes.Add("data-bs-target", "#" + GetContentId());
button.Attributes.Add("aria-expanded", "true"); button.Attributes.Add("aria-expanded", "true");
button.Attributes.Add("aria-controls", GetContentId()); button.Attributes.Add("aria-controls", GetContentId());
button.InnerHtml.AppendHtml(Encoder.Encode(TagHelper.Title)); button.InnerHtml.Append(TagHelper.Title);
var h5 = new TagBuilder("h5"); var h5 = new TagBuilder("h5");
h5.AddCssClass("mb-0"); h5.AddCssClass("mb-0");

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionTagHelperService.cs

@ -37,7 +37,7 @@ public class AbpAccordionTagHelperService : AbpTagHelperService<AbpAccordionTagH
{ {
foreach (var item in items) foreach (var item in items)
{ {
var content = item.Replace(AbpAccordionParentIdPlaceholder, HtmlGenerator.Encode(TagHelper.Id)); var content = item.Replace(AbpAccordionParentIdPlaceholder, HtmlGenerator.Encode(TagHelper.Id ?? string.Empty));
var wrapper = new TagBuilder("div"); var wrapper = new TagBuilder("div");
wrapper.AddCssClass("card"); wrapper.AddCssClass("card");

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs

@ -287,7 +287,7 @@ public class AbpInputTagHelperService : AbpTagHelperService<AbpInputTagHelper>
var label = new TagBuilder("label"); var label = new TagBuilder("label");
label.Attributes.Add("for", GetIdAttributeValue(inputTag)); label.Attributes.Add("for", GetIdAttributeValue(inputTag));
label.InnerHtml.AppendHtml(_encoder.Encode(TagHelper.Label)); label.InnerHtml.Append(TagHelper.Label);
label.AddCssClass(isCheckbox ? "form-check-label" : "form-label"); label.AddCssClass(isCheckbox ? "form-check-label" : "form-label");

7
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelperService.cs

@ -7,7 +7,6 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text; using System.Text;
using System.Text.Encodings.Web;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Extensions; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Extensions;
namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form;
@ -15,12 +14,10 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form;
public class AbpRadioInputTagHelperService : AbpTagHelperService<AbpRadioInputTagHelper> public class AbpRadioInputTagHelperService : AbpTagHelperService<AbpRadioInputTagHelper>
{ {
private readonly IAbpTagHelperLocalizer _tagHelperLocalizer; private readonly IAbpTagHelperLocalizer _tagHelperLocalizer;
private readonly HtmlEncoder _htmlEncoder;
public AbpRadioInputTagHelperService(IAbpTagHelperLocalizer tagHelperLocalizer, HtmlEncoder htmlEncoder) public AbpRadioInputTagHelperService(IAbpTagHelperLocalizer tagHelperLocalizer)
{ {
_tagHelperLocalizer = tagHelperLocalizer; _tagHelperLocalizer = tagHelperLocalizer;
_htmlEncoder = htmlEncoder;
} }
public override void Process(TagHelperContext context, TagHelperOutput output) public override void Process(TagHelperContext context, TagHelperOutput output)
@ -77,7 +74,7 @@ public class AbpRadioInputTagHelperService : AbpTagHelperService<AbpRadioInputTa
var label = new TagBuilder("label"); var label = new TagBuilder("label");
label.AddCssClass("form-check-label"); label.AddCssClass("form-check-label");
label.Attributes.Add("for", id); label.Attributes.Add("for", id);
label.InnerHtml.AppendHtml(_htmlEncoder.Encode(selectItem.Text)); label.InnerHtml.Append(selectItem.Text);
var wrapper = new TagBuilder("div"); var wrapper = new TagBuilder("div");
wrapper.AddCssClass("form-check" + inlineClass); wrapper.AddCssClass("form-check" + inlineClass);

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelperService.cs

@ -187,7 +187,7 @@ public class AbpSelectTagHelperService : AbpTagHelperService<AbpSelectTagHelper>
var label = new TagBuilder("label"); var label = new TagBuilder("label");
label.AddCssClass("form-label"); label.AddCssClass("form-label");
label.Attributes.Add("for", GetIdAttributeValue(selectTag)); label.Attributes.Add("for", GetIdAttributeValue(selectTag));
label.InnerHtml.AppendHtml(_encoder.Encode(TagHelper.Label)); label.InnerHtml.Append(TagHelper.Label);
label.InnerHtml.AppendHtml(GetRequiredSymbol(context, output)); label.InnerHtml.AppendHtml(GetRequiredSymbol(context, output));
return label.ToHtmlString(); return label.ToHtmlString();

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerBaseTagHelperService.cs

@ -556,7 +556,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
var label = new TagBuilder("label"); var label = new TagBuilder("label");
label.Attributes.Add("for", GetIdAttributeValue(inputTag)); label.Attributes.Add("for", GetIdAttributeValue(inputTag));
label.InnerHtml.AppendHtml(Encoder.Encode(TagHelper.Label)); label.InnerHtml.Append(TagHelper.Label);
label.AddCssClass("form-label"); label.AddCssClass("form-label");

9
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalHeaderTagHelperService.cs

@ -1,5 +1,4 @@
using System.Text.Encodings.Web; using Localization.Resources.AbpUi;
using Localization.Resources.AbpUi;
using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Razor.TagHelpers; using Microsoft.AspNetCore.Razor.TagHelpers;
using Microsoft.Extensions.Localization; using Microsoft.Extensions.Localization;
@ -10,12 +9,10 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal;
public class AbpModalHeaderTagHelperService : AbpTagHelperService<AbpModalHeaderTagHelper> public class AbpModalHeaderTagHelperService : AbpTagHelperService<AbpModalHeaderTagHelper>
{ {
protected IStringLocalizer<AbpUiResource> L { get; } protected IStringLocalizer<AbpUiResource> L { get; }
protected HtmlEncoder Encoder { get; }
public AbpModalHeaderTagHelperService(IStringLocalizer<AbpUiResource> localizer, HtmlEncoder encoder) public AbpModalHeaderTagHelperService(IStringLocalizer<AbpUiResource> localizer)
{ {
L = localizer; L = localizer;
Encoder = encoder;
} }
public override void Process(TagHelperContext context, TagHelperOutput output) public override void Process(TagHelperContext context, TagHelperOutput output)
@ -30,7 +27,7 @@ public class AbpModalHeaderTagHelperService : AbpTagHelperService<AbpModalHeader
{ {
var title = new TagBuilder("h5"); var title = new TagBuilder("h5");
title.AddCssClass("modal-title"); title.AddCssClass("modal-title");
title.InnerHtml.AppendHtml(Encoder.Encode(TagHelper.Title)); title.InnerHtml.Append(TagHelper.Title);
return title.ToHtmlString(); return title.ToHtmlString();
} }

10
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabDropdownTagHelperService.cs

@ -2,7 +2,6 @@
using Microsoft.AspNetCore.Razor.TagHelpers; using Microsoft.AspNetCore.Razor.TagHelpers;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text.Encodings.Web;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Extensions; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Extensions;
@ -10,13 +9,6 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tab;
public class AbpTabDropdownTagHelperService : AbpTagHelperService<AbpTabDropdownTagHelper> public class AbpTabDropdownTagHelperService : AbpTagHelperService<AbpTabDropdownTagHelper>
{ {
protected HtmlEncoder Encoder { get; }
public AbpTabDropdownTagHelperService(HtmlEncoder encoder)
{
Encoder = encoder;
}
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{ {
if (string.IsNullOrWhiteSpace(TagHelper.Name)) if (string.IsNullOrWhiteSpace(TagHelper.Name))
@ -48,7 +40,7 @@ public class AbpTabDropdownTagHelperService : AbpTagHelperService<AbpTabDropdown
anchor.Attributes.Add("role", "button"); anchor.Attributes.Add("role", "button");
anchor.Attributes.Add("aria-haspopup", "true"); anchor.Attributes.Add("aria-haspopup", "true");
anchor.Attributes.Add("aria-expanded", "false"); anchor.Attributes.Add("aria-expanded", "false");
anchor.InnerHtml.AppendHtml(Encoder.Encode(title)); anchor.InnerHtml.Append(title);
var menu = new TagBuilder("div"); var menu = new TagBuilder("div");
menu.AddCssClass("dropdown-menu"); menu.AddCssClass("dropdown-menu");

12
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabLinkTagHelperService.cs

@ -1,7 +1,6 @@
using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Razor.TagHelpers; using Microsoft.AspNetCore.Razor.TagHelpers;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text.Encodings.Web;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Extensions; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Extensions;
@ -9,13 +8,6 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tab;
public class AbpTabLinkTagHelperService : AbpTagHelperService<AbpTabLinkTagHelper> public class AbpTabLinkTagHelperService : AbpTagHelperService<AbpTabLinkTagHelper>
{ {
protected HtmlEncoder Encoder { get; }
public AbpTabLinkTagHelperService(HtmlEncoder encoder)
{
Encoder = encoder;
}
public override Task ProcessAsync(TagHelperContext context, TagHelperOutput output) public override Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{ {
SetPlaceholderForNameIfNotProvided(); SetPlaceholderForNameIfNotProvided();
@ -43,7 +35,7 @@ public class AbpTabLinkTagHelperService : AbpTagHelperService<AbpTabLinkTagHelpe
anchor.AddCssClass("dropdown-item"); anchor.AddCssClass("dropdown-item");
anchor.Attributes.Add("id", id); anchor.Attributes.Add("id", id);
anchor.Attributes.Add("href", href); anchor.Attributes.Add("href", href);
anchor.InnerHtml.AppendHtml(Encoder.Encode(title)); anchor.InnerHtml.Append(title);
return anchor.ToHtmlString(); return anchor.ToHtmlString();
} }
@ -53,7 +45,7 @@ public class AbpTabLinkTagHelperService : AbpTagHelperService<AbpTabLinkTagHelpe
anchor.AddCssClass("nav-link " + AbpTabItemActivePlaceholder); anchor.AddCssClass("nav-link " + AbpTabItemActivePlaceholder);
anchor.Attributes.Add("id", id); anchor.Attributes.Add("id", id);
anchor.Attributes.Add("href", href); anchor.Attributes.Add("href", href);
anchor.InnerHtml.AppendHtml(Encoder.Encode(title)); anchor.InnerHtml.Append(title);
var listItem = new TagBuilder("li"); var listItem = new TagBuilder("li");
listItem.AddCssClass("nav-item"); listItem.AddCssClass("nav-item");

12
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabTagHelperService.cs

@ -2,7 +2,6 @@
using Microsoft.AspNetCore.Razor.TagHelpers; using Microsoft.AspNetCore.Razor.TagHelpers;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.Encodings.Web;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Extensions; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Extensions;
@ -10,13 +9,6 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tab;
public class AbpTabTagHelperService : AbpTagHelperService<AbpTabTagHelper> public class AbpTabTagHelperService : AbpTagHelperService<AbpTabTagHelper>
{ {
protected HtmlEncoder Encoder { get; }
public AbpTabTagHelperService(HtmlEncoder encoder)
{
Encoder = encoder;
}
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{ {
SetPlaceholderForNameIfNotProvided(); SetPlaceholderForNameIfNotProvided();
@ -61,7 +53,7 @@ public class AbpTabTagHelperService : AbpTagHelperService<AbpTabTagHelper>
anchor.Attributes.Add(attr.Name, attr.Value.ToString()); anchor.Attributes.Add(attr.Name, attr.Value.ToString());
} }
anchor.InnerHtml.AppendHtml(Encoder.Encode(title)); anchor.InnerHtml.Append(title);
return anchor.ToHtmlString(); return anchor.ToHtmlString();
} }
@ -81,7 +73,7 @@ public class AbpTabTagHelperService : AbpTagHelperService<AbpTabTagHelper>
anchor.Attributes.Add(attr.Name, attr.Value.ToString()); anchor.Attributes.Add(attr.Name, attr.Value.ToString());
} }
anchor.InnerHtml.AppendHtml(Encoder.Encode(title)); anchor.InnerHtml.Append(title);
var listItem = new TagBuilder("li"); var listItem = new TagBuilder("li");
listItem.AddCssClass("nav-item"); listItem.AddCssClass("nav-item");

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabsTagHelperService.cs

@ -225,6 +225,6 @@ public class AbpTabsTagHelperService : AbpTagHelperService<AbpTabsTagHelper>
protected virtual string SetTabItemNameIfNotProvided(string content, int index) protected virtual string SetTabItemNameIfNotProvided(string content, int index)
{ {
return content.Replace(TabItemNamePlaceHolder, HtmlGenerator.Encode(TagHelper.Name) + "_" + index); return content.Replace(TabItemNamePlaceHolder, HtmlGenerator.Encode(TagHelper.Name ?? string.Empty) + "_" + index);
} }
} }

1
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/TagHelpers/AbpTagHelperScriptService.cs

@ -1,7 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.Encodings.Web;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.AspNetCore.Mvc.Rendering;

1
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/TagHelpers/AbpTagHelperStyleService.cs

@ -1,7 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.Encodings.Web;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.AspNetCore.Mvc.Rendering;

Loading…
Cancel
Save