2016-04-07 8 views
2

Ich habe die Standardanmeldung von asp.net mvc 6 geändert und wollte eine Dropdownliste mit Taghelper select hinzufügen, aber es scheint, als ob es eine falsche Ausgabe erzeugt.ASP.Net 5 MVC6 select Taghelper erzeugt falsche Ausgabe

fügte ich das select-taghelper-Element, so dass es wie folgt aussieht:

<form asp-controller="Account" asp-action="Register" method="post" class="form-horizontal" role="form"> 
    <div class="form-group"> 
     <label asp-for="Tenant" class="col-md-2 control-label"></label> 
     <div class="col-md-10"> 
      <select asp-for="Tenant" asp-items="ViewBag.Tenants" class="form-control" /> 
      <span asp-validation-for="Tenant" class="text-danger"></span> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-md-offset-2 col-md-10"> 
      <button type="submit" class="btn btn-default">Register</button> 
     </div> 
    </div> 
</form> 

nach dem select-Tag hinzufügen, die Submit-Taste nicht mehr angezeigt wird - der Drop-Down angezeigt wird, aber keine Daten enthält, aber die Verwendung von Breakpoints Viewbag.Tenants enthält Daten. Wenn ich das erste Div mit dem Select-Tag entferne, wird der Button angezeigt.

Irgendeine Idee, was hier falsch ist?

+0

haben Sie versucht mit einem @ vor ViewBag? –

+0

@JoeAudette danke, versucht, macht keinen Unterschied .. –

Antwort

1

Ihr Markup ist falsch. Verwenden Sie nicht das selbstschließende select-Tag. Habe ein explizites schließendes Tag.

Dies sollte funktionieren.

<select asp-for="Tenant" asp-items="ViewBag.Tenants" class="form-control"></select> 
+1

Ahh du bist ein Genie! Vielen Dank! :) –

+0

Ich habe das ausprobiert und seltsamerweise bekomme ich die Liste mit multiple = "multiple" als Auswahlliste und nicht als Dropdownliste gerendert? –

+0

@MarkRedman Es hängt vom Typ der Eigenschaft ab, die Sie für 'asp-for' verwenden. Wenn es ein Array-Typ ist (' int [] '/' string [] '), wird es mit multiplem Attribut – Shyju

Verwandte Themen