diff --git a/src/Microsoft.AspNet.Mvc.TagHelpers/TagHelperOutputExtensions.cs b/src/Microsoft.AspNet.Mvc.TagHelpers/TagHelperOutputExtensions.cs
index 9b6ef20c2d..e271ef4857 100644
--- a/src/Microsoft.AspNet.Mvc.TagHelpers/TagHelperOutputExtensions.cs
+++ b/src/Microsoft.AspNet.Mvc.TagHelpers/TagHelperOutputExtensions.cs
@@ -78,13 +78,13 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
}
///
- /// Merges the given 's into the
+ /// Merges the given 's into the
/// .
///
/// The this method extends.
/// The to merge attributes from.
/// Existing on the given
- /// are not overriden; "class" attributes are merged with spaces.
+ /// are not overridden; "class" attributes are merged with spaces.
public static void MergeAttributes(this TagHelperOutput tagHelperOutput, TagBuilder tagBuilder)
{
foreach (var attribute in tagBuilder.Attributes)
diff --git a/src/Microsoft.AspNet.Mvc.TagHelpers/TextAreaTagHelper.cs b/src/Microsoft.AspNet.Mvc.TagHelpers/TextAreaTagHelper.cs
index 46f9a960f0..0f66052200 100644
--- a/src/Microsoft.AspNet.Mvc.TagHelpers/TextAreaTagHelper.cs
+++ b/src/Microsoft.AspNet.Mvc.TagHelpers/TextAreaTagHelper.cs
@@ -40,18 +40,11 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
if (tagBuilder != null)
{
- output.SelfClosing = false;
-
- // TODO: Use infrastructure from PR #1322 to copy from tagBuilder.
- foreach (var attribute in tagBuilder.Attributes)
- {
- if (!output.Attributes.ContainsKey(attribute.Key))
- {
- output.Attributes.Add(attribute.Key, attribute.Value);
- }
- }
-
+ // Overwrite current Content to ensure expression result round-trips correctly.
output.Content = tagBuilder.InnerHtml;
+
+ output.MergeAttributes(tagBuilder);
+ output.SelfClosing = false;
output.TagName = tagBuilder.TagName;
}
}