Merge pull request #7290 from FabienLavocat/dev

Add constructor for the SelectListItem class
This commit is contained in:
Artak Mkrtchyan 2018-02-06 16:29:57 -08:00 committed by GitHub
commit e308c0fe5f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 93 additions and 66 deletions

View File

@ -64,24 +64,9 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
{ {
return new List<SelectListItem> return new List<SelectListItem>
{ {
new SelectListItem new SelectListItem(Resources.Common_TriState_NotSet, string.Empty, !value.HasValue),
{ new SelectListItem(Resources.Common_TriState_True, "true", (value == true)),
Text = Resources.Common_TriState_NotSet, new SelectListItem(Resources.Common_TriState_False, "false", (value == false)),
Value = string.Empty,
Selected = !value.HasValue
},
new SelectListItem
{
Text = Resources.Common_TriState_True,
Value = "true",
Selected = (value == true),
},
new SelectListItem
{
Text = Resources.Common_TriState_False,
Value = "false",
Selected = (value == false),
},
}; };
} }

View File

@ -10,6 +10,48 @@ namespace Microsoft.AspNetCore.Mvc.Rendering
/// </summary> /// </summary>
public class SelectListItem public class SelectListItem
{ {
/// <summary>
/// Initializes a new instance of <see cref="SelectListItem"/>.
/// </summary>
public SelectListItem() { }
/// <summary>
/// Initializes a new instance of <see cref="SelectListItem"/>.
/// </summary>
/// <param name="text">The display text of this <see cref="SelectListItem"/>.</param>
/// <param name="value">The value of this <see cref="SelectListItem"/>.</param>
public SelectListItem(string text, string value)
: this()
{
Text = text;
Value = value;
}
/// <summary>
/// Initializes a new instance of <see cref="SelectListItem"/>.
/// </summary>
/// <param name="text">The display text of this <see cref="SelectListItem"/>.</param>
/// <param name="value">The value of this <see cref="SelectListItem"/>.</param>
/// <param name="selected">Value that indicates whether this <see cref="SelectListItem"/> is selected.</param>
public SelectListItem(string text, string value, bool selected)
: this(text, value)
{
Selected = selected;
}
/// <summary>
/// Initializes a new instance of <see cref="SelectListItem"/>.
/// </summary>
/// <param name="text">The display text of this <see cref="SelectListItem"/>.</param>
/// <param name="value">The value of this <see cref="SelectListItem"/>.</param>
/// <param name="selected">Value that indicates whether this <see cref="SelectListItem"/> is selected.</param>
/// <param name="disabled">Value that indicates whether this <see cref="SelectListItem"/> is disabled.</param>
public SelectListItem(string text, string value, bool selected, bool disabled)
: this(text, value, selected)
{
Disabled = disabled;
}
/// <summary> /// <summary>
/// Gets or sets a value that indicates whether this <see cref="SelectListItem"/> is disabled. /// Gets or sets a value that indicates whether this <see cref="SelectListItem"/> is disabled.
/// This property is typically rendered as a <code>disabled="disabled"</code> attribute in the HTML /// This property is typically rendered as a <code>disabled="disabled"</code> attribute in the HTML

View File

@ -15,10 +15,10 @@ namespace Microsoft.AspNetCore.Mvc.Core
{ {
private static readonly List<SelectListItem> BasicSelectList = new List<SelectListItem> private static readonly List<SelectListItem> BasicSelectList = new List<SelectListItem>
{ {
new SelectListItem { Text = "Zero", Value = "0"}, new SelectListItem("Zero", "0"),
new SelectListItem { Text = "One", Value = "1"}, new SelectListItem("One", "1"),
new SelectListItem { Text = "Two", Value = "2"}, new SelectListItem("Two", "2"),
new SelectListItem { Text = "Three", Value = "3"}, new SelectListItem("Three", "3"),
}; };
[Fact] [Fact]
@ -78,8 +78,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>"; "</select>";
var selectList = new List<SelectListItem> var selectList = new List<SelectListItem>
{ {
new SelectListItem { Text = "Four", Value = "4" }, new SelectListItem("Four", "4"),
new SelectListItem { Text = "Five", Value = "5" }, new SelectListItem("Five", "5"),
}; };
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider)); var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -103,8 +103,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>"; "</select>";
var selectList = new List<SelectListItem> var selectList = new List<SelectListItem>
{ {
new SelectListItem { Text = "Four", Value = "4" }, new SelectListItem("Four", "4"),
new SelectListItem { Text = "Five", Value = "5" }, new SelectListItem("Five", "5"),
}; };
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider)); var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -130,8 +130,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>"; "</select>";
var selectList = new List<SelectListItem> var selectList = new List<SelectListItem>
{ {
new SelectListItem { Text = "Four", Value = "4" }, new SelectListItem("Four", "4"),
new SelectListItem { Text = "Five", Value = "5" }, new SelectListItem("Five", "5"),
}; };
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider)); var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -178,8 +178,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>"; "</select>";
var selectList = new List<SelectListItem> var selectList = new List<SelectListItem>
{ {
new SelectListItem { Text = "Four", Value = "4" }, new SelectListItem("Four", "4"),
new SelectListItem { Text = "Five", Value = "5" }, new SelectListItem("Five", "5"),
}; };
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider)); var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -204,8 +204,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>"; "</select>";
var selectList = new List<SelectListItem> var selectList = new List<SelectListItem>
{ {
new SelectListItem { Text = "Four", Value = "4" }, new SelectListItem("Four", "4"),
new SelectListItem { Text = "Five", Value = "5" }, new SelectListItem("Five", "5"),
}; };
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider)); var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -230,8 +230,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>"; "</select>";
var selectList = new List<SelectListItem> var selectList = new List<SelectListItem>
{ {
new SelectListItem { Text = "Four", Value = "4" }, new SelectListItem("Four", "4"),
new SelectListItem { Text = "Five", Value = "5" }, new SelectListItem("Five", "5"),
}; };
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider)); var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));

View File

@ -15,10 +15,10 @@ namespace Microsoft.AspNetCore.Mvc.Core
{ {
private static readonly List<SelectListItem> BasicSelectList = new List<SelectListItem> private static readonly List<SelectListItem> BasicSelectList = new List<SelectListItem>
{ {
new SelectListItem { Text = "Zero", Value = "0"}, new SelectListItem("Zero", "0"),
new SelectListItem { Text = "One", Value = "1"}, new SelectListItem("One", "1"),
new SelectListItem { Text = "Two", Value = "2"}, new SelectListItem("Two", "2"),
new SelectListItem { Text = "Three", Value = "3"}, new SelectListItem("Three", "3"),
}; };
[Fact] [Fact]
@ -54,8 +54,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>"; "</select>";
var selectList = new List<SelectListItem> var selectList = new List<SelectListItem>
{ {
new SelectListItem { Text = "Four", Value = "4" }, new SelectListItem("Four", "4"),
new SelectListItem { Text = "Five", Value = "5" }, new SelectListItem("Five", "5"),
}; };
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider)); var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -79,8 +79,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>"; "</select>";
var selectList = new List<SelectListItem> var selectList = new List<SelectListItem>
{ {
new SelectListItem { Text = "Four", Value = "4" }, new SelectListItem("Four", "4"),
new SelectListItem { Text = "Five", Value = "5" }, new SelectListItem("Five", "5"),
}; };
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider)); var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -126,8 +126,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>"; "</select>";
var selectList = new List<SelectListItem> var selectList = new List<SelectListItem>
{ {
new SelectListItem { Text = "Four", Value = "4" }, new SelectListItem("Four", "4"),
new SelectListItem { Text = "Five", Value = "5" }, new SelectListItem("Five", "5"),
}; };
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider)); var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -151,8 +151,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>"; "</select>";
var selectList = new List<SelectListItem> var selectList = new List<SelectListItem>
{ {
new SelectListItem { Text = "Four", Value = "4" }, new SelectListItem("Four", "4"),
new SelectListItem { Text = "Five", Value = "5" }, new SelectListItem("Five", "5"),
}; };
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider)); var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));

View File

@ -31,38 +31,38 @@ namespace Microsoft.AspNetCore.Mvc.Rendering
private static readonly List<SelectListItem> BasicSelectList = new List<SelectListItem> private static readonly List<SelectListItem> BasicSelectList = new List<SelectListItem>
{ {
new SelectListItem { Text = "Zero", Value = "0"}, new SelectListItem("Zero", "0"),
new SelectListItem { Text = "One", Value = "1"}, new SelectListItem("One", "1"),
new SelectListItem { Text = "Two", Value = "2"}, new SelectListItem("Two", "2"),
new SelectListItem { Text = "Three", Value = "3"}, new SelectListItem("Three", "3"),
}; };
private static readonly List<SelectListItem> SomeDisabledOneSelectedSelectList = new List<SelectListItem> private static readonly List<SelectListItem> SomeDisabledOneSelectedSelectList = new List<SelectListItem>
{ {
new SelectListItem { Disabled = false, Selected = false, Text = "Zero", Value = "0"}, new SelectListItem("Zero", "0", false, false),
new SelectListItem { Disabled = true, Selected = true, Text = "One", Value = "1"}, new SelectListItem("One", "1", true, true),
new SelectListItem { Disabled = false, Selected = false, Text = "Two", Value = "2"}, new SelectListItem("Two", "2", false, false),
new SelectListItem { Disabled = true, Selected = false, Text = "Three", Value = "3"}, new SelectListItem("Three", "3", false, true),
}; };
private static readonly List<SelectListItem> SomeGroupedSomeSelectedSelectList = new List<SelectListItem> private static readonly List<SelectListItem> SomeGroupedSomeSelectedSelectList = new List<SelectListItem>
{ {
new SelectListItem { Group = GroupOne, Selected = true, Text = "Zero", Value = "0"}, new SelectListItem("Zero", "0", true) { Group = GroupOne },
new SelectListItem { Group = GroupTwo, Selected = false, Text = "One", Value = "1"}, new SelectListItem("One", "1", false) { Group = GroupTwo },
new SelectListItem { Group = GroupOne, Selected = true, Text = "Two", Value = "2"}, new SelectListItem("Two", "2", true) { Group = GroupOne },
new SelectListItem { Group = null, Selected = false, Text = "Three", Value = "3"}, new SelectListItem("Three", "3", false) { Group = null },
}; };
private static readonly List<SelectListItem> OneGroupSomeSelectedSelectList = new List<SelectListItem> private static readonly List<SelectListItem> OneGroupSomeSelectedSelectList = new List<SelectListItem>
{ {
new SelectListItem { Group = GroupOne, Selected = true, Text = "Zero", Value = "0"}, new SelectListItem("Zero", "0", true) { Group = GroupOne },
new SelectListItem { Group = GroupOne, Selected = true, Text = "One", Value = "1"}, new SelectListItem("One", "1", true) { Group = GroupOne },
new SelectListItem { Group = GroupOne, Selected = false, Text = "Two", Value = "2"}, new SelectListItem("Two", "2", false) { Group = GroupOne },
new SelectListItem { Group = GroupOne, Selected = false, Text = "Three", Value = "3"}, new SelectListItem("Three", "3", false) { Group = GroupOne },
}; };
private static readonly List<SelectListItem> OneDisabledGroupAllSelectedSelectList = new List<SelectListItem> private static readonly List<SelectListItem> OneDisabledGroupAllSelectedSelectList = new List<SelectListItem>
{ {
new SelectListItem { Group = DisabledGroup, Selected = true, Text = "Zero", Value = "0"}, new SelectListItem("Zero", "0", true) { Group = DisabledGroup },
new SelectListItem { Group = DisabledGroup, Selected = true, Text = "One", Value = "1"}, new SelectListItem("One", "1", true) { Group = DisabledGroup },
new SelectListItem { Group = DisabledGroup, Selected = true, Text = "Two", Value = "2"}, new SelectListItem("Two", "2", true) { Group = DisabledGroup },
new SelectListItem { Group = DisabledGroup, Selected = true, Text = "Three", Value = "3"}, new SelectListItem("Three", "3", true) { Group = DisabledGroup },
}; };
private static readonly List<SelectListItem> SourcesSelectList = new List<SelectListItem> private static readonly List<SelectListItem> SourcesSelectList = new List<SelectListItem>
{ {