C'è un modo per includere un'opzione vuota predefinita (o con testo) se non c'è un valore selezionato per un elenco a discesa?ASP.NET MVC a discesa con un'opzione vuota predefinita
risposta
Di seguito verrà inserita la stringa. Vuota la lista di selezione (o IEnumerable) specificata nell'elemento ["Menu"] ViewData. La selezione avrà ID e nome MenuID
.
<%= Html.DropDownList("MenuID",
(IEnumerable<SelectListItem>)ViewData["Menu"],
string.Empty) %>
Documentazione: DropDownList method
La soluzione presentata qui ha lavorato molto bene per me: http://forums.asp.net/t/1142484.aspx/1
L'idea di base è che si imposta la proprietà AppendDataBoundItems
del DropDownList
per true
e poi mettere un asp:ListItem
in il DropDownList
e diventerà il tuo oggetto predefinito con tutti gli elementi del database che verranno dopo di esso.
'-1' Questo è per ASP.NET Web Forms, non MVC. – JoeBrockhaus
Ciò facile soluzione ha funzionato per il mio progetto mvc5:
in vista:
@{
Model.ModelItemsList.Add(new ModelItem{ });
SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName");
}
Basta aggiungere un nuovo elemento alla List<>
che si desidera visualizzare nella vista. Nel mio caso, ho aggiunto un "ModelItem" vuoto al mio List<ModelItem> ModelItemList
. Poiché il mio ModelItemID è un Guid, ho dovuto verificare Guid.Empty nel mio metodo di controllo e fare un po 'di codice. Questo è tutto.
Per esempio:
Controller :
private void InitScreenInfoCollate()
{
IEnumerable<MstBrd> listbrd = ibrandRepository.GetItemsByUsercode("");
ViewBag.Brands = new SelectList(listbrd, "brd_cod", "brd_mei", null);
}
View :
@Html.DropDownList("Brands", null, string.Empty, new { @class = "form-control"})
Risultato:
- 1. Asp.Net MVC 2 Visualizzazione a discesa System.Web.MVC.SelectListItem
- 2. ASP.NET MVC elenco a discesa da SelectList
- 3. ASP.NET MVC: compilare un elenco a discesa
- 4. Asp.net MVC come compilare elenco a discesa con i numeri
- 5. MVC Asp.Net con elenco a discesa e assistenza SelectListItem
- 6. ASP.NET MVC Identità implementazione predefinita
- 7. ASP.NET MVC Visualizzazione URL predefinita
- 8. Vuota il primo elemento nell'elenco a discesa
- 9. ASP.NET MVC ottiene il valore dell'elenco a discesa
- 10. Cascading discesa con KNOCKOUT.JS e ASP.NET MVC 4
- 11. Yii2 discesa opzione vuota
- 12. Impostazione predefinita di un menu a discesa con D3
- 13. Spinner con una selezione predefinita vuota
- 14. predefinita una colonna con stringa vuota
- 15. ASP.Net MVC 3 convalida client non invadente non funziona con elenchi a discesa
- 16. ASP.NET mvc 2 - associazione di una data di nascita con elenchi a discesa
- 17. ASP.NET MVC - Preservare la selezione DateTime non valida con 3 elenchi a discesa
- 18. Indietro automatico in mvc menu a discesa
- 19. Imposta elemento a discesa selezionato MVC
- 20. mvc 4 a discesa valore predefinito selezionato
- 21. KnockOut.js con Asp.net mvc
- 22. asp.net mvc 2 a MVC 4
- 23. asp.net mvc La risposta non autorizzata è una pagina vuota?
- 24. HttpContext.Items con ASP.NET MVC
- 25. Stampante lato server predefinita "Hello World" in ASP.NET MVC
- 26. ASP.NET MVC Struttura del progetto predefinita e cartella degli script
- 27. Ajax con Asp.Net MVC?
- 28. Elenco a discesa a selezione multipla in ASP.NET
- 29. Ottieni il valore del menu a discesa disattivato in asp.net mvc
- 30. Restituisce stringa vuota usando Linq a SQL - Tabella correlata senza righe - ASP.Net MVC
Grazie. Il nome del parametro di optionLabel per l'opzione predefinita mi ha buttato fuori :) –
Geez ... anche io stavo iniziando a scrivere il mio metodo di supporto ... nome dell'immondizia IMHO - sembra che emetterebbe un tag
Piccolo errore di battitura: dovrebbe leggere –
HerbalMart