2016-04-08 8 views
0

Я совершенно новый В asp.net. Сегодня я хочу сортировать свой раскрывающийся список. Это мой контроллер редактирования:как сортировать DropDownList элементы по алфавиту 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); 
} 

И это мое мнение редактировать

@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> 

Как я могу отсортировать мои @ Html.DropDownList в алфавитном порядке?

+2

При заказе методом расширения 'ViewBag.DefaultServiceId = новый SelectList (db.Services.OrderBy (s => s.Name), «Id», «Name», user.DefaultServiceId); ' –

+0

@QuentinRoger - Спасибо, он работает! – BinaryTie

ответ

4

Как я уже сказал в своем комментарии вы можете использовать метод OrderBy расширения:

ViewBag.DefaultServiceId = new SelectList(db.Services.OrderBy(s=>s.Name), "Id", "Name", user.DefaultServiceId); 
Смежные вопросы