Skip to content

Commit d97ff68

Browse files
Follow-ups from #43182 (#43309)
1 parent 7b5da42 commit d97ff68

File tree

7 files changed

+19
-13
lines changed

7 files changed

+19
-13
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
4+
namespace Microsoft.AspNetCore.Mvc.ModelBinding;
5+
6+
internal static class FormValueHelper
7+
{
8+
public const string CultureInvariantFieldName = "__Invariant";
9+
}

src/Mvc/Mvc.Core/src/ModelBinding/FormValueProvider.cs

+1-3
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding;
1313
/// </summary>
1414
public class FormValueProvider : BindingSourceValueProvider, IEnumerableValueProvider
1515
{
16-
internal const string CultureInvariantFieldName = "__Invariant";
17-
1816
private readonly IFormCollection _values;
1917
private readonly HashSet<string?>? _invariantValueKeys;
2018
private PrefixContainer? _prefixContainer;
@@ -43,7 +41,7 @@ public FormValueProvider(
4341

4442
_values = values;
4543

46-
if (_values.TryGetValue(CultureInvariantFieldName, out var invariantKeys) && invariantKeys.Count > 0)
44+
if (_values.TryGetValue(FormValueHelper.CultureInvariantFieldName, out var invariantKeys) && invariantKeys.Count > 0)
4745
{
4846
_invariantValueKeys = new(invariantKeys, StringComparer.OrdinalIgnoreCase);
4947
}

src/Mvc/Mvc.Core/src/ModelBinding/JQueryFormValueProvider.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public JQueryFormValueProvider(
2727
CultureInfo? culture)
2828
: base(bindingSource, values, culture)
2929
{
30-
if (values.TryGetValue(FormValueProvider.CultureInvariantFieldName, out var invariantKeys) && invariantKeys.Count > 0)
30+
if (values.TryGetValue(FormValueHelper.CultureInvariantFieldName, out var invariantKeys) && invariantKeys.Count > 0)
3131
{
3232
_invariantValueKeys = new(invariantKeys, StringComparer.OrdinalIgnoreCase);
3333
}

src/Mvc/Mvc.Core/test/ModelBinding/FormValueProviderTest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public void GetValue_ReturnsInvariantCulture_IfInvariantEntryExists()
1818
var currentCultureKey = "some";
1919
var values = new Dictionary<string, StringValues>(BackingStore)
2020
{
21-
{ FormValueProvider.CultureInvariantFieldName, new(invariantCultureKey) },
21+
{ FormValueHelper.CultureInvariantFieldName, new(invariantCultureKey) },
2222
};
2323
var valueProvider = GetEnumerableValueProvider(BindingSource.Query, values, culture);
2424

src/Mvc/Mvc.Core/test/ModelBinding/JQueryFormValueProviderTest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public void GetValue_ReturnsInvariantCulture_IfInvariantEntryExists()
5656
var currentCultureKey = "some";
5757
var values = new Dictionary<string, StringValues>(BackingStore)
5858
{
59-
{ FormValueProvider.CultureInvariantFieldName, new(invariantCultureKey) },
59+
{ FormValueHelper.CultureInvariantFieldName, new(invariantCultureKey) },
6060
};
6161
var valueProvider = GetEnumerableValueProvider(BindingSource.Query, values, culture);
6262

src/Mvc/Mvc.TagHelpers/src/InputTagHelper.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ private TagBuilder GenerateTextBox(
423423
private static void GenerateInvariantCultureMetadata(string propertyName, TagHelperContent builder)
424424
=> builder
425425
.AppendHtml("<input name=\"")
426-
.Append(FormValueProvider.CultureInvariantFieldName)
426+
.Append(FormValueHelper.CultureInvariantFieldName)
427427
.AppendHtml("\" type=\"hidden\" value=\"")
428428
.Append(propertyName)
429429
.AppendHtml("\" />");

src/Mvc/Mvc.ViewFeatures/src/DefaultHtmlGenerator.cs

+5-6
Original file line numberDiff line numberDiff line change
@@ -1351,13 +1351,12 @@ protected virtual TagBuilder GenerateInput(
13511351
string.Equals(suppliedTypeString, "image", StringComparison.OrdinalIgnoreCase))
13521352
{
13531353
// 'value' attribute is not needed for 'file' and 'image' input types.
1354+
break;
13541355
}
1355-
else
1356-
{
1357-
var attributeValue = (string)GetModelStateValue(viewContext, fullName, typeof(string));
1358-
attributeValue ??= useViewData ? EvalString(viewContext, expression, format) : valueParameter;
1359-
tagBuilder.MergeAttribute("value", attributeValue, replaceExisting: isExplicitValue);
1360-
}
1356+
1357+
var attributeValue = (string)GetModelStateValue(viewContext, fullName, typeof(string));
1358+
attributeValue ??= useViewData ? EvalString(viewContext, expression, format) : valueParameter;
1359+
tagBuilder.MergeAttribute("value", attributeValue, replaceExisting: isExplicitValue);
13611360

13621361
break;
13631362
}

0 commit comments

Comments
 (0)