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>
{
new SelectListItem
{
Text = Resources.Common_TriState_NotSet,
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),
},
new SelectListItem(Resources.Common_TriState_NotSet, string.Empty, !value.HasValue),
new SelectListItem(Resources.Common_TriState_True, "true", (value == true)),
new SelectListItem(Resources.Common_TriState_False, "false", (value == false)),
};
}

View File

@ -10,6 +10,48 @@ namespace Microsoft.AspNetCore.Mvc.Rendering
/// </summary>
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>
/// 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

View File

@ -15,10 +15,10 @@ namespace Microsoft.AspNetCore.Mvc.Core
{
private static readonly List<SelectListItem> BasicSelectList = new List<SelectListItem>
{
new SelectListItem { Text = "Zero", Value = "0"},
new SelectListItem { Text = "One", Value = "1"},
new SelectListItem { Text = "Two", Value = "2"},
new SelectListItem { Text = "Three", Value = "3"},
new SelectListItem("Zero", "0"),
new SelectListItem("One", "1"),
new SelectListItem("Two", "2"),
new SelectListItem("Three", "3"),
};
[Fact]
@ -78,8 +78,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>";
var selectList = new List<SelectListItem>
{
new SelectListItem { Text = "Four", Value = "4" },
new SelectListItem { Text = "Five", Value = "5" },
new SelectListItem("Four", "4"),
new SelectListItem("Five", "5"),
};
var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -103,8 +103,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>";
var selectList = new List<SelectListItem>
{
new SelectListItem { Text = "Four", Value = "4" },
new SelectListItem { Text = "Five", Value = "5" },
new SelectListItem("Four", "4"),
new SelectListItem("Five", "5"),
};
var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -130,8 +130,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>";
var selectList = new List<SelectListItem>
{
new SelectListItem { Text = "Four", Value = "4" },
new SelectListItem { Text = "Five", Value = "5" },
new SelectListItem("Four", "4"),
new SelectListItem("Five", "5"),
};
var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -178,8 +178,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>";
var selectList = new List<SelectListItem>
{
new SelectListItem { Text = "Four", Value = "4" },
new SelectListItem { Text = "Five", Value = "5" },
new SelectListItem("Four", "4"),
new SelectListItem("Five", "5"),
};
var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -204,8 +204,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>";
var selectList = new List<SelectListItem>
{
new SelectListItem { Text = "Four", Value = "4" },
new SelectListItem { Text = "Five", Value = "5" },
new SelectListItem("Four", "4"),
new SelectListItem("Five", "5"),
};
var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -230,8 +230,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>";
var selectList = new List<SelectListItem>
{
new SelectListItem { Text = "Four", Value = "4" },
new SelectListItem { Text = "Five", Value = "5" },
new SelectListItem("Four", "4"),
new SelectListItem("Five", "5"),
};
var metadataProvider = new EmptyModelMetadataProvider();
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>
{
new SelectListItem { Text = "Zero", Value = "0"},
new SelectListItem { Text = "One", Value = "1"},
new SelectListItem { Text = "Two", Value = "2"},
new SelectListItem { Text = "Three", Value = "3"},
new SelectListItem("Zero", "0"),
new SelectListItem("One", "1"),
new SelectListItem("Two", "2"),
new SelectListItem("Three", "3"),
};
[Fact]
@ -54,8 +54,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>";
var selectList = new List<SelectListItem>
{
new SelectListItem { Text = "Four", Value = "4" },
new SelectListItem { Text = "Five", Value = "5" },
new SelectListItem("Four", "4"),
new SelectListItem("Five", "5"),
};
var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -79,8 +79,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>";
var selectList = new List<SelectListItem>
{
new SelectListItem { Text = "Four", Value = "4" },
new SelectListItem { Text = "Five", Value = "5" },
new SelectListItem("Four", "4"),
new SelectListItem("Five", "5"),
};
var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -126,8 +126,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>";
var selectList = new List<SelectListItem>
{
new SelectListItem { Text = "Four", Value = "4" },
new SelectListItem { Text = "Five", Value = "5" },
new SelectListItem("Four", "4"),
new SelectListItem("Five", "5"),
};
var metadataProvider = new EmptyModelMetadataProvider();
var helper = DefaultTemplatesUtilities.GetHtmlHelper(new ViewDataDictionary<TestModel>(metadataProvider));
@ -151,8 +151,8 @@ namespace Microsoft.AspNetCore.Mvc.Core
"</select>";
var selectList = new List<SelectListItem>
{
new SelectListItem { Text = "Four", Value = "4" },
new SelectListItem { Text = "Five", Value = "5" },
new SelectListItem("Four", "4"),
new SelectListItem("Five", "5"),
};
var metadataProvider = new EmptyModelMetadataProvider();
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>
{
new SelectListItem { Text = "Zero", Value = "0"},
new SelectListItem { Text = "One", Value = "1"},
new SelectListItem { Text = "Two", Value = "2"},
new SelectListItem { Text = "Three", Value = "3"},
new SelectListItem("Zero", "0"),
new SelectListItem("One", "1"),
new SelectListItem("Two", "2"),
new SelectListItem("Three", "3"),
};
private static readonly List<SelectListItem> SomeDisabledOneSelectedSelectList = new List<SelectListItem>
{
new SelectListItem { Disabled = false, Selected = false, Text = "Zero", Value = "0"},
new SelectListItem { Disabled = true, Selected = true, Text = "One", Value = "1"},
new SelectListItem { Disabled = false, Selected = false, Text = "Two", Value = "2"},
new SelectListItem { Disabled = true, Selected = false, Text = "Three", Value = "3"},
new SelectListItem("Zero", "0", false, false),
new SelectListItem("One", "1", true, true),
new SelectListItem("Two", "2", false, false),
new SelectListItem("Three", "3", false, true),
};
private static readonly List<SelectListItem> SomeGroupedSomeSelectedSelectList = new List<SelectListItem>
{
new SelectListItem { Group = GroupOne, Selected = true, Text = "Zero", Value = "0"},
new SelectListItem { Group = GroupTwo, Selected = false, Text = "One", Value = "1"},
new SelectListItem { Group = GroupOne, Selected = true, Text = "Two", Value = "2"},
new SelectListItem { Group = null, Selected = false, Text = "Three", Value = "3"},
new SelectListItem("Zero", "0", true) { Group = GroupOne },
new SelectListItem("One", "1", false) { Group = GroupTwo },
new SelectListItem("Two", "2", true) { Group = GroupOne },
new SelectListItem("Three", "3", false) { Group = null },
};
private static readonly List<SelectListItem> OneGroupSomeSelectedSelectList = new List<SelectListItem>
{
new SelectListItem { Group = GroupOne, Selected = true, Text = "Zero", Value = "0"},
new SelectListItem { Group = GroupOne, Selected = true, Text = "One", Value = "1"},
new SelectListItem { Group = GroupOne, Selected = false, Text = "Two", Value = "2"},
new SelectListItem { Group = GroupOne, Selected = false, Text = "Three", Value = "3"},
new SelectListItem("Zero", "0", true) { Group = GroupOne },
new SelectListItem("One", "1", true) { Group = GroupOne },
new SelectListItem("Two", "2", false) { Group = GroupOne },
new SelectListItem("Three", "3", false) { Group = GroupOne },
};
private static readonly List<SelectListItem> OneDisabledGroupAllSelectedSelectList = new List<SelectListItem>
{
new SelectListItem { Group = DisabledGroup, Selected = true, Text = "Zero", Value = "0"},
new SelectListItem { Group = DisabledGroup, Selected = true, Text = "One", Value = "1"},
new SelectListItem { Group = DisabledGroup, Selected = true, Text = "Two", Value = "2"},
new SelectListItem { Group = DisabledGroup, Selected = true, Text = "Three", Value = "3"},
new SelectListItem("Zero", "0", true) { Group = DisabledGroup },
new SelectListItem("One", "1", true) { Group = DisabledGroup },
new SelectListItem("Two", "2", true) { Group = DisabledGroup },
new SelectListItem("Three", "3", true) { Group = DisabledGroup },
};
private static readonly List<SelectListItem> SourcesSelectList = new List<SelectListItem>
{