2016-05-11 28 views
0

Ich bin neu zu asp.net MVC @ Visual Studio Community 2015. Ich habe 2 Modelle (Modell A, Modell B) und ich habe sie mit Fremdschlüssel verknüpft . Modell A Referenzen BASP.NET MVC Null zu viele Beziehung Dropdown-Liste Standard null

public virtual List<A> A_nav_prop { get; set; } 

und Modell B verweisen A unter Verwendung

public int? AID { get; set; } 
public virtual A A { get; set; } 

Dann erzeugen die Steuerungen I (und automatisch die Ansichten) mit der Einheit Framework.

Wenn ich die Ansicht von B erstellen ausführen, erhalte ich eine Dropdownlist, der alle Werte des Modells A. zeigt

Das Problem ist, dass die Dropdownlist immer die Werte von Modell B zeigt. Ich möchte A erstellen können, ohne dass ich etwas aus der Dropdownliste auswählen muss.

Danke

+0

Dann nur eine [Überlastung] verwenden (https://msdn.microsoft.com/en-us/library/system.web.mvc.html.selectextensions.dropdownlistfor(v=vs.118).aspx#M:System.Web.Mvc.Html.SelectExtensions. DropDownListFor''2% 28System.Web.Mvc.HtmlHelper {'' 0}, System.Linq.Expressions.Expression {System.Func {'' 0, '' 1}}, System.Collections.Generic.IEnumerable {System. W eb.Mvc.SelectListItem}, System.String% 29) von 'DropDownListFor()', das ein 'optionLabel' (' null'-Wert) akzeptiert –

Antwort

0

Per was Stephen Muecke angegeben ... da man sich wie nicht das Gefühl haben wollen eine Option aus der DDL zu wählen.

Wenn in Ihrem Controller, Ihre Dropdownlist in eine ViewBag gestopft ist, können Sie dies in Ihrer Ansicht verwenden:

<div class="form-group"> 
    @Html.LabelFor(model => model.AID, "", htmlAttributes: new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     @Html.DropDownList("AID",null,"-- None --", htmlAttributes: new { @class = "form-control" }) 
     @Html.ValidationMessageFor(model => model.AID, "", new { @class = "text-danger" }) 
    </div> 
</div> 

oder Sie können diese verwenden:

@Html.DropDownListFor(x => x.AID, new SelectList(Model.AID, "Value", "Text"), "-- None --", new { @class = "nameSelecter" }) 
+0

In diesem Fall sollte die label-Option wahrscheinlich '' None' 'statt' 'sein "- Label auswählen -" ' –

+0

@StephenMuecke true. habe gerade meinen Post bearbeitet –

Verwandte Themen