2016-10-25 1 views
0

Name und ID werden in der Datenbank gespeichert. Ich möchte den gesamten Namen und die ID aus der Datenbank in ViewPage Dropdown anzeigen. Hier habe ich die Spalte Name nur im Dropdown-Menü angezeigt. Ist es möglich, zwei Spalten in einem einzigen Dropdown anzuzeigen? Bitte lassen Sie mich die Lösung wissen. Danke!Wie werden zwei Spaltenwerte in der Razor-Dropdown-Liste angezeigt?

Below Code schreiben in Controller:

var Employe = (from table in dc.tbl_EmployeeDetails 
          select table.Employee_Name).ToList(); 
    ViewData["empName"] = Employe ; 

var department = (from table in dc.tbl_EmployeeDetails 
             select table.Department).ToList(); 

        ViewData["dept"] = department; 

Clientside-Code (View): -

<select id="reportto" disabled="disabled" font-size:14px"> 
    @foreach(var person in ViewData["empName"] as List<string>) 
              { 
               if(@[email protected]) 
               { 
                <option>@person</option> 
               } 
              } 
</select> 

Hier habe ich angezeigt Namen nur in Dropdown-Menü. Wie werden Name und Abteilung in einem Dropdown-Menü angezeigt?

+0

Abfrage der Tabelle db, wandelt die Daten in eine Liste erzeugen, von 'SelectListItem' und verwenden Sie die' DropDownListFor'-Hilfsmethode, um das Dropdown-Menü zu rendern. Hier sehen Sie ein Beispiel für [Was ist die beste Methode, um @ Html.DropDownListFor in ASP.NET MVC5 zu binden?] (Http://stackoverflow.com/questions/39550804/what-is-the-best-ways-to -bind-html-dropdownlistfor-in-asp-net-mvc5/39550859 # 39550859) – Shyju

+0

@ Shyju- Noch einmal durch meine Frage gehen. Ihr Link ist nicht mit meiner Frage verknüpft. – Param

Antwort

0

Sie können den Mitarbeiternamen und den Abteilungsnamen in SELECT verknüpfen.

var Employe = (from table in dc.tbl_EmployeeDetails 
         select table.Employee_Name + " "+ table.Department).ToList(); 
ViewData["empName"] = Employe ; 

paar Vorschläge für Verbesserungen im Code

Ich sehe Sie durch die Elemente sind Looping und die Optionen manuell zu bauen. Warum nicht die HTML-Hilfsmethoden verwenden?

Sie können den Mitarbeiternamen und den Abteilungsnamen in SELECT verknüpfen.

var employeeList= dc.tbl_EmployeeDetails 
        .Select(x=>new SelectListItem { Value=x.Employee_Name, 
            Text=x.Employee_Name + " "+ x.Department}).ToList(); 
ViewData["employeeList"] = employeeList; 

Jetzt in Ihrer Ansicht verwenden, um die Html.DropDownList Hilfsmethode

@Html.DropDownList("SelectedEmployee",ViewData["employeeList"] as List<SelectListItem>) 

Dies wird ein SELECT-Element mit dem Namen "SelectedEmployee"

Verwandte Themen