Próbuję stworzyć DropDownList
widok brzytwy.
Czy ktoś mógłby mi w tym pomóc?
Normalny kod HTML5:
<select id="dropdowntipo">
<option value="Exemplo1">Exemplo1</option>
<option value="Exemplo2">Exemplo2</option>
<option value="Exemplo3">Exemplo3</option>
</select>
Próbowałem tego:
@{
var listItems = new List<ListItem> {
new ListItem { Text = "Exemplo1", Value = "Exemplo1" },
new ListItem { Text = "Exemplo2", Value = "Exemplo2" },
new ListItem { Text = "Exemplo3", Value = "Exemplo3" }
};
}
@Html.DropDownListFor(model =>
model.tipo,
new SelectList(listItems),
"-- Select Status --"
)
c#
asp.net-mvc
razor
user2232273
źródło
źródło
var listItems = ...
powinien być w nie kontrolera widoku.ListItem
ponieważ jest to koncepcja związana z interfejsem użytkownika. Nie powinno to być nawet w modelu widoku, tylko w widoku. Kontroler powinien budować model widoku, model widoku powinien zawierać dane, widok powinien budować elementy UI (podobneListItem
) do tych danych.Odpowiedzi:
źródło
źródło
Możesz użyć tego:
źródło
// ViewModel
// Klasa wyliczeniowa:
// Akcja kontrolera
// wyświetl Action
źródło
Oto najłatwiejsza odpowiedź:
Twoim zdaniem wystarczy dodać:
LUB w kontrolerze dodaj:
a Twój widok po prostu dodaj:
Nauczyłem się tego z Jess Chadwick
źródło
Uwierz mi, wypróbowałem wiele opcji, aby to zrobić i mam tutaj odpowiedź
ale zawsze szukam najlepszych praktyk, a najlepszy sposób, jaki znam, zarówno dla programistów front-end, jak i back-end to
for loop
(tak, nie żartuję)Ponieważ kiedy front-end daje ci strony interfejsu użytkownika z fikcyjnymi danymi, dodał także klasy i niektóre style wbudowane w określonej opcji wyboru, więc
hard to deal
używającHtmlHelper
Spójrz na to:
to od programisty front-end, więc najlepszym rozwiązaniem jest użycie pętli for
fristly
create
lubget your list
danych z (...) w akcji kontrolera i umieścić je w ViewModel, ViewBag lub czymkolwiekPo drugie w widoku wykonaj prostą pętlę for, aby zapełnić listę rozwijaną
w ten sposób nie zepsujesz UI Design, a jest on prosty, łatwy i bardziej czytelny
mam nadzieję, że to pomoże ci, nawet jeśli nie używałeś brzytwy
źródło
Korzystanie z tablicy byłoby nieco bardziej wydajne niż tworzenie listy.
źródło
Zobacz: - Utwórz listę rozwijaną w przykładzie maszynki do golenia MVC 4
źródło
po prostu użyj tego
aw widoku użyj następujących.
jeśli chcesz pobrać dane z zestawu danych i wypełnić te dane w polu listy, użyj następującego kodu.
iw widoku napisz następujący kod.
źródło
Jeśli używasz ASP.net 5 (MVC 6) lub nowszego, możesz użyć nowych pomocników tagów, aby uzyskać bardzo ładną składnię:
źródło
Można to również zrobić jak
źródło
źródło