diff --git a/src/Microsoft.AspNet.Mvc.Core/Rendering/Html/DefaultHtmlGenerator.cs b/src/Microsoft.AspNet.Mvc.Core/Rendering/Html/DefaultHtmlGenerator.cs index 3fc2d8cde7..7cf3b012a5 100644 --- a/src/Microsoft.AspNet.Mvc.Core/Rendering/Html/DefaultHtmlGenerator.cs +++ b/src/Microsoft.AspNet.Mvc.Core/Rendering/Html/DefaultHtmlGenerator.cs @@ -182,12 +182,11 @@ namespace Microsoft.AspNet.Mvc.Rendering } string action; - if (actionName == null && controllerName == null && routeValues == null && defaultMethod && - htmlAttributes == null) + if (actionName == null && controllerName == null && routeValues == null && defaultMethod) { // Submit to the original URL in the special case that user called the BeginForm() overload without - // parameters. Also reachable in the even-more-unusual case that user called another BeginForm() - // overload with default argument values. + // parameters (except for the htmlAttributes parameter). Also reachable in the even-more-unusual case + // that user called another BeginForm() overload with default argument values. var request = viewContext.HttpContext.Request; action = request.PathBase + request.Path + request.QueryString; } diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/HtmlHelperFormTest.cs b/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/HtmlHelperFormTest.cs index bcd595fd1f..da82bf35fe 100644 --- a/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/HtmlHelperFormTest.cs +++ b/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/HtmlHelperFormTest.cs @@ -158,6 +158,55 @@ namespace Microsoft.AspNet.Mvc.Rendering Assert.Equal("", builder.ToString()); } + [Fact] + public void BeginForm_RendersExpectedValues_WithDefaultArgumentsAndHtmlAttributes() + { + // Arrange + var pathBase = "/Base"; + var path = "/Path"; + var queryString = "?query=string"; + var expectedAction = pathBase + path + queryString; + var htmlAttributes = new { p1_name = "p1-value" }; + var expectedStartTag = string.Format("
", builder.ToString()); + } + [Theory] [MemberData(nameof(BeginFormDataSet))] public void BeginForm_RendersExpectedValues(