2016-04-08 11 views
0

Ich bin ziemlich neu in asp.net. Heute möchte ich meine Drop-Down-Liste sortieren. Dies ist mein Controller der Bearbeitung:wie sort DropDownList Artikel alphabetisch asp.net

public ActionResult Edit(int? id) 
{ 
    if (id == null) 
    { 
     return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
    } 
    User user = db.Users.Find(id); 
    if (user == null) 
    { 
     return HttpNotFound(); 
    } 
    ViewBag.DefaultCustomerProjectId = new SelectList(db.CustomerProjects, "Id", "Name", user.DefaultCustomerProjectId); 
    ViewBag.DefaultServiceId = new SelectList(db.Services, "Id", "Name", user.DefaultServiceId); 
    ViewBag.CustomerId = new SelectList(db.Customers, "Id", "Name", user.CustomerId); 
    return View(user); 
} 

Und das ist meine Ansicht bearbeiten

@model TimeReportingLib.User 
@{ 
    ViewBag.Title = "Edit"; 
} 
<h2>Edit</h2> 
@using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 

    <div class="form-horizontal"> 
     <h4>User</h4> 
     <hr /> 
     @Html.ValidationSummary(true, "", new { @class = "text-danger" }) 
     @Html.HiddenFor(model => model.Id) 
     <div class="form-group"> 
      @Html.LabelFor(model => model.DefaultServiceId, "DefaultServiceId", htmlAttributes: new { @class = "control-label col-md-2" }) 
      <div class="col-md-10"> 
       @Html.DropDownList("DefaultServiceId", null, htmlAttributes: new { @class = "form-control" }) 
       @Html.ValidationMessageFor(model => model.DefaultServiceId, "", new { @class = "text-danger" }) 
      </div> 
     </div> 

Wie kann ich meine sortieren @ Html.DropDownList alphabetisch?

+2

Mit der Bestellung durch Erweiterung Methode 'ViewBag.DefaultServiceId = new Select (db.Services.OrderBy (s => s.Name), "Id", "Name", user.DefaultServiceId); ' –

+0

@QuentinRoger - Danke, es funktioniert! – BinaryTie

Antwort

4

Wie ich in meinem Kommentar sagte Sie die OrderBy Erweiterungsmethode verwenden:

ViewBag.DefaultServiceId = new SelectList(db.Services.OrderBy(s=>s.Name), "Id", "Name", user.DefaultServiceId); 
Verwandte Themen