Atividade 4 - Adicionando uma nova página Razor
Instruções
Criar nova página
Certifique-se de que o Visual Studio Code está aberto e que na barra de atividades, Explorer está selecionado.
No Solution Explorer, ao lado do diretório Pages, selecione o botão Adicionar novo arquivo….

Isso exibirá uma lista de tipos de arquivo.
- Selecione Componente Razor na lista.

Nomeie como
todoe pressione Enter.Isso criará o arquivo e o abrirá no editor.
Em seguida, atualize a página para adicionar uma diretiva
@pagepara que a página responda a /todo e adicione um título de página usando a tag<PageTitle>.
Adicionar link para a página na navegação
Localize a página do menu de navegação (NavMenu.razor) em Shared e abra-a.
Adicione um item de navegação para sua lista de tarefas acima de Buscar Dados copiando o
<div>do Buscar Dados e alterando onde diz FetchData ou Fetch Data para TodoNo Solution Explorer, clique com o botão direito no nome do seu projeto, selecione Depurar e depois Iniciar nova instância para ver as alterações e visualizar sua To Do List.

Criar a To Do List
- Crie um novo arquivo de classe chamado TodoItem.cs para conter uma classe que representa o objeto todo.
No nível superior do seu projeto, clique no botão Adicionar novo arquivo… e selecione Classe na lista. Dê o nome de TodoItem.
- Adicione o seguinte código para que um TodoItem tenha um
Titleque é umastringe uma propriedade chamadaIsDoneque é umboolean.
public class TodoItem
{
public string? Title { get; set; }
public bool IsDone { get; set; }
}
- Volte para o arquivo
todo.razore:
- No bloco @code, adicione um objeto List de
TodoItemchamado todos. O componente Todo usa esse campo para manter o estado da lista de tarefas. - Adicione um título (
<h3>) chamado “Todo” - Abaixo do título, adicione uma marcação de lista não ordenada (
<ul>) e um loop foreach para renderizar cada item todo como um item de lista (<li>). - Adicione um campo de texto (
<input>) com um placeholder dizendo “Algo a fazer” e um botão (<button>) com o texto “Adicionar tarefa” abaixo da lista não ordenada
- Ao clicar no botão Adicionar tarefa, nada acontece neste momento. Agora você precisará adicionar um manipulador de evento.
- Altere o botão para incluir uma ação onclick.
- No bloco
@code:- adicione uma nova string para armazenar o nome do novo todo.
- adicione um novo método
AddTodoque verifica se a nova string possui texto. Você pode fazer isso usando o métodoIsNullOrWhiteSpaceda string. Se houver texto, crie uma nova instância deTodoItemcom o texto comoTitlee adicione essa instância ao objetoListcriado anteriormente. - Limpe o valor do campo de texto definindo
newTodocomo uma string vazia
- Modifique o elemento de texto
<input>para vincularnewTodocom o atributo@bind.
Atualize a lista para que os títulos sejam editáveis (
<input>) e adicione uma checkbox para marcar itens concluídos. Certifique-se de que você usa@bindna checkbox para a propriedadeIsDonedotodo.Atualize o
<h3>para mostrar a contagem de tarefas que ainda não foram concluídas.Salve e execute uma nova instância do seu app para testar.


Você conseguiu!
Minicurso concluído