Ich möchte wissen, Was ist der beste Weg zum Erstellen von Dropdown-Listen in MVC 4? Mit ViewBag oder ein anderer Ansatz?Was ist der beste Weg, Drop-down-Listen in MVC 4 zu erstellen?
Antwort
Ich würde argumentieren, dass, da die Elemente Variablenwerte innerhalb Ihrer Ansicht sind, dass sie in das Ansichtsmodell gehören. Das View Model ist nicht notwendig nur für Artikel zurück aus der Ansicht.
Modell:
public class SomethingModel
{
public IEnumerable<SelectListItem> DropDownItems { get; set; }
public String MySelection { get; set; }
public SomethingModel()
{
DropDownItems = new List<SelectListItem>();
}
}
Controller:
public ActionResult DoSomething()
{
var model = new SomethingModel();
model.DropDownItems.Add(new SelectListItem { Text = "MyText", Value = "1" });
return View(model)
}
Ausblick:
@Html.DropDownListFor(m => m.MySelection, Model.DropDownItems)
bevölkern diese in der Steuerung oder wo auch immer angemessen ist für das Szenario.
Alternativ kann für mehr Flexibilität, schalten public IEnumerable<SelectListItem>
für public IEnumerable<MyCustomClass>
und dann tun:
@Html.DropDownFor(m => m.MySelection,
new SelectList(Model.DropDownItems, "KeyProperty", "ValueProperty")
In diesem Fall werden Sie natürlich auch, dass Ihr Controller-Aktion ändern, anstatt zu füllen model.DropDownItems
mit Instanzen von MyCustomClass
.
Danke, @ Ant P.Wie kann ich in diesem Beispiel dataValueField bekommen? –
Ich möchte diese neue SelectList schreiben (Model.DisplayList, "TestplanId", "Name") –
@ ElvinArzumanoğlu Ich habe einige Informationen hinzugefügt, wie Sie dies erreichen können. –
- 1. Was ist der beste Weg, ein UIButton-Kontrollkästchen zu erstellen?
- 2. Was ist der beste Weg, um eine Sitemap zu erstellen?
- 3. Was ist der beste Weg zu
- 4. Was ist der beste Weg
- 5. Was ist der beste Weg zur Umstellung auf MVC-Codierung?
- 6. Was ist der beste Weg, um druckbare Briefe aus einer MVC-Anwendung zu erstellen?
- 7. Was ist der beste Weg, um eine Sitzung pro Zeiteinheit zu erstellen? (ASP.NET, MVC)
- 8. Was ist der beste Weg, um jQuery zu lernen?
- 9. Was ist der beste Weg, um mehrere Aktionen zu behandeln?
- 10. was der beste Weg
- 11. Was ist der beste Weg, um die aktuelle URL in Spring MVC zu erhalten?
- 12. Was ist der beste Weg, EF 4 und DDD zu verwenden
- 13. Was ist der beste Weg, HTML in Excel zu konvertieren
- 14. Was ist der beste Weg, Ränge in MYSQL zu generieren?
- 15. Was ist der beste Weg, Daten in Mongo zu validieren?
- 16. Was ist der beste Weg, um in C++ zu casten?
- 17. Was ist der beste Weg, remote.origin.url in Git zu ersetzen?
- 18. Was ist der beste Weg, Programme in Windows zu vergleichen?
- 19. Was ist der beste Weg, HTML in Python zu verarbeiten?
- 20. Was ist der beste Weg, EventDispatcher in EntityRepository zu injizieren?
- 21. Was ist der beste Weg, QUERY_STRING in PHP zu verwalten?
- 22. Was ist der beste Weg, Konfigurationsvariablen in PHP zu speichern?
- 23. Was ist der beste Weg, Datumsunterschied in Javascript zu berechnen
- 24. Was ist der beste Weg, Tabellendaten in Python zu schreiben?
- 25. Was ist der beste Weg, Ports in PM2 zu setzen?
- 26. Was ist der beste Weg, Namenskonflikte in Javascript zu lösen?
- 27. Was ist der beste Weg, Ausnahmen in Perl zu behandeln?
- 28. Was ist der beste Weg, Django 1.5 zu lernen?
- 29. Was ist der beste Weg, um ähnliche Strings zu bearbeiten?
- 30. Was ist der beste Weg, um einfache Filterfunktionen in Javascript zu erstellen?
es ist nicht View.Bag es ist ViewBag –
Ich würde empfehlen, sie mit Ihrem 'ViewModel' zu übergeben. – Artless
Hmm, ich habe viele Dropdown-Listen in View. Ich möchte sie mit ViewBag erstellen, aber ich möchte mich nicht beeilen, vielleicht gibt es andere Möglichkeiten, die besser sind als viewBag –