Reputation: 5069
In my razor I am generating dropdown list like this.
@{
var listItems = new List<ListItem>
{
new ListItem { Text = "Home To School", Value = "0" },
new ListItem { Text = "School To Home", Value = "1" }
};
}
@Html.DropDownList("Direction", new SelectList(listItems),new {onchange = "getAlldata()"})
HTML generated from this is like this
<select id="Direction" name="Direction" onchange="getAlldata()">
<option>Home To School</option>
<option>School To Home</option>
</select>
but I want to generate HTML something like this
<select id="Direction" name="Direction" onchange="getAlldata()">
<option value="0">Home To School</option>
<option value="1">School To Home</option>
</select>
How can I do this.
Upvotes: 15
Views: 73809
Reputation: 3404
Here are some examples of how to build DropDownList
with Razor, like one with using SelectListItem
:
public ActionResult Index()
{
var db = new NorthwindEntities();
IEnumerable<SelectListItem> items = db.Categories
.Select(c => new SelectListItem
{
Value = c.CategoryID.ToString(),
Text = c.CategoryName
});
ViewBag.CategoryID = items;
return View();
}
EDIT:
Check this:
@Html.DropDownList("Direction", new List<SelectListItem>
{
new SelectListItem{ Text = "Home To School", Value = "0" },
new SelectListItem{ Text = "School To Home", Value = "1" }
},new {onchange = "getAlldata()"})
Upvotes: 6
Reputation: 4010
Use it like this
@Html.DropDownList("Direction", new SelectList(listItems , "Value" , "Text"),new {onchange = "getAlldata()"})
Upvotes: 29