ASP.NET -MVC - Como faço para criar uma visão para mostrar todos os usuários não aprovados e permitir que eles sejam aprovados
-
06-07-2019 - |
Pergunta
Eu tenho esse código na minha classe de serviço de associação (retirado do aplicativo de amostra ASP.NET-MVC)
public MembershipUserCollection GetUnapprovedUsers()
{
MembershipUserCollection users = Membership.GetAllUsers();
MembershipUserCollection unapprovedUsers = new MembershipUserCollection();
foreach (MembershipUser u in users)
{
if (!u.IsApproved)
{
unapprovedUsers.Add(u);
}
}
return unapprovedUsers;
}
Agora preciso de uma visão para mostrar esta lista de informações e permitir que alguém as aprove que voltará ao controlador e definirá a propriedade IS aprovada como TRUE.
Solução
Crie uma visualização que gerará um formulário contendo rótulo e caixa de seleção para cada membro da coleção. Você precisa obter do ID da caixa de seleção para o usuário.
No método de ação http.post, iterate através dos campos enviados em busca de caixas de seleção Definir, quando você encontra um definido o usuário correspondente como aprovado.
Obviamente, o formulário pode exibir detalhes arbitrários para cada usuário.
Para usar os ajudantes de controle embutido, exige um pouco mais de esforço, porque você não tem um modelo de tamanho fixo para trabalhar. Para alcançar algo semelhante i:
- Usou uma visão não forte digitada
- populosa
ViewData["ids"]
comIEnumerable<IdType>
(que a vista iria fazer o loop) - Para cada entrada preenchida
ViewData["field" + id]
Para cada campo que eu estava exibindo na entidade - Na vista, o IDS
using ViewData["ids"]
para chamar os ajudantes HTML com o ID do campo.
(Isso foi v1, no V2, usei o estado do modelo para poder usar o suporte à exibição de erros de validação embutido, mas isso realmente não se aplica se você deseja apenas selecionar usuários.)
O pós -processamento foi semelhante, repovoando a lista de identificação do banco de dados e a olhando no passado FormCollection
.