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

StackOverflow https://stackoverflow.com/questions/1212497

  •  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.

Foi útil?

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"] com IEnumerable<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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top