2016-09-29 3 views
-2

Ich habe eine Auswahlliste, wo Sie den Ort einer Bushaltestelle auswählen. Ich möchte, dass die Orte die Elemente der Auswahlliste sind, aber ich möchte, dass sie die Bushaltestelle NUMBER zurückgibt, die sich auf den Ort bezieht. Wie ist das möglich? Soll ich es in der neuen SelectList() angeben?asp.net MVC Auswahlliste Rückgabewert und ausgewählten Wert

Meine routeStop Reglerfunktion erstellen:

public IActionResult Create() 
     { 
      ViewData["BusRouteCode"] = new SelectList(_context.BusRoute, "BusRouteCode", "BusRouteCode"); 
      ViewData["Location"] = new SelectList(_context.BusStop, "Location", "Location"); 



      return View(); 
     } 

     // POST: DwRouteStop/Create 
     // To protect from overposting attacks, please enable the specific properties you want to bind to, for 
     // more details see http://go.microsoft.com/fwlink/?LinkId=317598. 
     [HttpPost] 
     [ValidateAntiForgeryToken] 
     public async Task<IActionResult> Create([Bind("RouteStopId,BusRouteCode,BusStopNumber,OffsetMinutes")] RouteStop routeStop) 
     { 

      if (ModelState.IsValid) 
      { 


       _context.Add(routeStop); 
       await _context.SaveChangesAsync(); 
       return RedirectToAction("Index"); 
      } 

      ViewData["BusRouteCode"] = new SelectList(_context.BusRoute, "BusRouteCode", "BusRouteCode", routeStop.BusRouteCode); 
      ViewData["Location"] = new SelectList(_context.BusStop, "Location", "Location", routeStop.BusStopNumberNavigation.Location); 
      return View(routeStop); 
     } 

entsprechende Form im Blick:

<div class="form-group"> 
      <label asp-for="BusStopNumberNavigation.Location" class="col-md-2 control-label"></label> 
      <div class="col-md-10"> 
       <select asp-for="BusStopNumberNavigation.Location" class ="form-control" asp-items="ViewBag.Location"></select> 
      </div> 
     </div> 

RouteStop Modell:

namespace DwBusService.Models 
{ 
    public partial class RouteStop 
    { 
     public int RouteStopId { get; set; } 
     public string BusRouteCode { get; set; } 
     public int? BusStopNumber { get; set; } 





     public int? OffsetMinutes { get; set; } 

     public virtual BusRoute BusRouteCodeNavigation { get; set; } 
     public virtual BusStop BusStopNumberNavigation { get; set; } 



    } 
} 

Bus Stop Modell:

namespace DwBusService.Models 
{ 
    public partial class BusStop 
    { 
     public BusStop() 
     { 
      RouteStop = new HashSet<RouteStop>(); 
      TripStop = new HashSet<TripStop>(); 
     } 

     public int BusStopNumber { get; set; } 
     public string Location { get; set; } 
     public int LocationHash { get; set; } 
     public bool GoingDowntown { get; set; } 

     public virtual ICollection<RouteStop> RouteStop { get; set; } 
     public virtual ICollection<TripStop> TripStop { get; set; } 
    } 
} 

Ich kann sowohl den Standort als auch die Bushaltestelle durch busStopNumberNavigation zugreifen. Ich hoffe du verstehst meine Frage. Ich möchte den Standort auswählen und gleichzeitig den Standort und die Bushaltestellennummer zur Postaktion zurückgeben.

+1

ist die Lage und Stop-Nummer eine 0.59-Verbindung (oder aus derselben Tabelle) mit ? Wenn ja, erstellen Sie ein SELECT-Element, wobei der Wert die Stop-Nummer und der Text der Ort ist. – Shyju

+0

Ein '