Skip to content

mhinze/BetterSelectList

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BetterSelectList

Addressing a small limitation with ASP.NET MVC rendering HTML select elements.

BetterSelectListItem : SelectListItem defines an HtmlAttributes property.

If you use @Html.BetterSelectListFor or variants and pass in some BetterSelectListItems those attributes are rendered in HTML for the options of the list.

Example:

@{
    var items = new[]
   {
        new
        {
            Text = "One",
            Value = "1",
            Group = "Odd",
            Selected = false
        },
        new
        {
            Text = "Two",
            Value = "2",
            Group = "Even",
            Selected = true
        },
        new
        {
            Text = "Three",
            Value = "3",
            Group = "Odd",
            Selected = false
        },
        new
        {
            Text = "Four",
            Value = "4",
            Group = "Even",
            Selected = false
        },
        new
        {
            Text = "Five",
            Value = "5",
            Group = "Odd",
            Selected = false
        },
        new
        {
            Text = "Six",
            Value = "6",
            Group = "Even",
            Selected = false
        }
    };
    var withGroups = items.Select(item => new BetterSelectListItem(item.Value, item.Text, item.Selected, new { data_val = item.Value }, item.Group));
}
@Html.BetterDropDownList("demo-optgroup", withGroups)

emits

<select id="demo-optgroup" name="demo-optgroup">
<optgroup label="Odd">
	<option data-val="1" value="1">One</option>
	<option data-val="3" value="3">Three</option>
	<option data-val="5" value="5">Five</option>
</optgroup>
<optgroup label="Even">
	<option data-val="2" selected="selected" value="2">Two</option>
	<option data-val="4" value="4">Four</option>
	<option data-val="6" value="6">Six</option>
</optgroup>
</select>

About

Better select lists for ASP.NET MVC

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published