diff --git a/Blazor.WebForm.Components.2.0.1.3.nupkg b/Blazor.WebForm.Components.2.0.1.3.nupkg
deleted file mode 100644
index ae57ed2..0000000
Binary files a/Blazor.WebForm.Components.2.0.1.3.nupkg and /dev/null differ
diff --git a/Blazor.WebForm.Components.2.0.1.4.nupkg b/Blazor.WebForm.Components.2.0.1.4.nupkg
new file mode 100644
index 0000000..1038beb
Binary files /dev/null and b/Blazor.WebForm.Components.2.0.1.4.nupkg differ
diff --git a/Blazor.WebForm.Components/Blazor.WebForm.Components.csproj b/Blazor.WebForm.Components/Blazor.WebForm.Components.csproj
index b7c3e3e..964172f 100644
--- a/Blazor.WebForm.Components/Blazor.WebForm.Components.csproj
+++ b/Blazor.WebForm.Components/Blazor.WebForm.Components.csproj
@@ -4,7 +4,7 @@
net6.0
true
Blazor.WebForm.Components.pfx
- 2.0.1.3
+ 2.0.1.4
asp
Jurio li
Blazor.WebForm.Components
@@ -17,8 +17,8 @@
-
-
+
+
diff --git a/Blazor.WebForm.Components/PluralHolder.razor b/Blazor.WebForm.Components/PluralHolder.razor
index 666bee7..8ae7b05 100644
--- a/Blazor.WebForm.Components/PluralHolder.razor
+++ b/Blazor.WebForm.Components/PluralHolder.razor
@@ -78,10 +78,7 @@
{
foreach (Extensions.Web.UI.WebControls.PluralHolder.PluralItem item in this.Control.Items)
{
- if (item.DataItem == null || item.DataItem == item.DataItem)
- {
- item.DataItem = this.DataItem;
- }
+ item.DataItem = this.DataItem;
}
}
}
diff --git a/Blazor.WebForm.Components/RichTextBox.razor b/Blazor.WebForm.Components/RichTextBox.razor
new file mode 100644
index 0000000..f7d3081
--- /dev/null
+++ b/Blazor.WebForm.Components/RichTextBox.razor
@@ -0,0 +1,115 @@
+@using Blazor.WebForm.UI
+@using Blazor.WebForm.UI.ControlComponents
+@using System.Web.UI
+@using System.Web.UI.WebControls
+@inherits WebControlComponent
+@this.RenderWithInner(this.Control)
+@code {
+ [Parameter]
+ public RenderFragment ChildContent { get; set; }
+
+ [Parameter]
+ public string ValidationGroup
+ {
+ get
+ {
+ return this.Control.ValidationGroup;
+ }
+ set
+ {
+ this.Control.ValidationGroup = value;
+ }
+ }
+
+ [Parameter]
+ public bool CausesValidation
+ {
+ get
+ {
+ return this.Control.CausesValidation;
+ }
+ set
+ {
+ this.Control.CausesValidation = value;
+ }
+ }
+
+ [Parameter]
+ public bool AutoPostBack
+ {
+ get
+ {
+ return this.Control.AutoPostBack;
+ }
+ set
+ {
+ this.Control.AutoPostBack = value;
+ }
+ }
+
+ [Parameter]
+ public string InnerHtml
+ {
+ get
+ {
+ return this.Control.InnerHtml;
+ }
+ set
+ {
+ this.Control.InnerHtml = value;
+ }
+ }
+
+ [Parameter]
+ public HtmlTextWriterTag TextBoxTag
+ {
+ get
+ {
+ return this.Control.TextBoxTag;
+ }
+ set
+ {
+ this.Control.TextBoxTag = value;
+ }
+ }
+
+ [Parameter]
+ public EventHandler OnTextChanged
+ {
+ get
+ {
+ return this.GetEventProperty();
+ }
+ set
+ {
+ this.SetEventProperty(value, i => this.Control.TextChanged += i, i => this.Control.TextChanged -= i);
+ }
+ }
+
+ protected override void OnInitialized()
+ {
+ base.OnInitialized();
+ if (this.HasPropertyBindEvent(nameof(this.InnerHtml)))
+ {
+ this.Control.AutoPostBack = true;
+ this.Control.TextChanged += this.BindInnerHtmlChanged;
+ if (this.HasEventProperty(nameof(this.OnTextChanged)))
+ {
+ this.SetBindEventProperty(nameof(this.OnTextChanged), this.BindInnerHtmlChanged);
+ }
+ }
+ }
+
+ private void BindInnerHtmlChanged(object sender, EventArgs e)
+ {
+ this.InvokePropertyBindEvent(nameof(this.InnerHtml), this.InnerHtml);
+ }
+
+ protected override void SetInnerPropertyWithInner(IReadOnlyDictionary parameters)
+ {
+ if (parameters.ContainsKey(nameof(this.ChildContent)) && this.ChildContent != null)
+ {
+ this.InnerHtml = RenderUtility.GetContentString(this.ChildContent);
+ }
+ }
+}