Estou tentando criar uma DropDownList
exibição em uma navalha.
Alguém me ajudaria com isso?
Código HTML5 normal:
<select id="dropdowntipo">
<option value="Exemplo1">Exemplo1</option>
<option value="Exemplo2">Exemplo2</option>
<option value="Exemplo3">Exemplo3</option>
</select>
Eu tentei isso:
@{
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
fonte
fonte
var listItems = ...
deve estar no seu controlador e não na sua View.ListItem
, pois é um conceito vinculado à interface do usuário. Na verdade, nem deveria estar no modelo de exibição, apenas na exibição. O controlador deve criar o modelo de visualização, o modelo de visualização deve conter os dados, a visualização deve criar elementos da interface do usuário (comoListItem
) para esses dados.Respostas:
fonte
fonte
Você pode usar isto:
fonte
// ViewModel
// Classe Enum:
// Ação do Controlador
// ver ação
fonte
Aqui está a resposta mais fácil:
na sua opinião, basta adicionar:
OU no seu controlador, adicione:
e sua visão basta adicionar:
Eu aprendi isso com Jess Chadwick
fonte
Acredite, eu tentei muitas opções para fazer isso e tenho resposta aqui
mas eu sempre procuro a melhor prática e a melhor maneira que conheço até agora para desenvolvedores de front-end e back-end
for loop
(sim, não estou brincando)Como quando o front-end fornece as páginas da interface do usuário com dados fictícios, ele também adicionou classes e alguns estilos embutidos em uma opção de seleção específica, portanto,
hard to deal
useHtmlHelper
Veja isto:
isso do desenvolvedor front-end, então a melhor solução é usar o loop for
primeiro
create
ouget your list
de dados de (...) na Ação do Controlador e coloque-o no ViewModel, ViewBag ou qualquer outroEm segundo lugar, na exibição, faça este loop for simples para preencher a lista suspensa
Dessa forma, você não quebrará o UI Design, e é simples, fácil e mais legível
espero que isso ajude você mesmo se você não usou navalha
fonte
Usar uma matriz seria um pouco mais eficiente do que criar uma lista.
fonte
Consulte: - Criar lista suspensa no exemplo do MVC 4 razor
fonte
apenas use isto
e no modo de exibição, use a seguir.
se você deseja obter dados do conjunto de dados e preenchê-los em uma caixa de listagem, use o código a seguir.
e, em vista, escreva o seguinte código.
fonte
Se você estiver usando o ASP.net 5 (MVC 6) ou posterior, poderá usar os novos Auxiliares de tags para obter uma sintaxe muito interessante:
fonte
Isso também pode ser feito como
fonte
fonte