Transcrições
1. Introdução: Ei pessoal, bem-vindos ao meu novo curso. Saiba é velocidade dotnet, MVC e banco de dados Entity Framework. Primeiro, neste curso, você vai aprender os fundamentos de ASP.net, MVC e Entity Framework através da construção de um pequeno barco prática Escola de Sistema de Gestão. Agora este curso foi projetado com iniciantes em mente se você é novinho em desenvolvimento, novo para todo o conceito de ASP.net, MVC, HTML, jQuery, e todos esses jargões, buzzwords e esses nomes fora de tecnologias, você os ouve, mas você não tem certeza de como usá-los. Este curso é um curso inicial perfeito para você. Aqui. Até o final, você vai ser capaz de construir um aplicativo web totalmente orientado a dados usando uma velocidade nele MVC. Você entenderia o padrão de design MVC e estrutura de pastas. Você seria capaz de consultar bancos de dados usando Entity Framework e LINQ consultas. E você vai entender todo o ecossistema dotnet tal como ele está. Ao final deste curso, você também saberá como
usar o controle de código-fonte na forma de GitHub, como integrar controles JavaScript e jQuery no código em seu aplicativo e desenvolver uma interface de usuário completa e rica para seus usuários. No momento em que você teria terminado este curso, você teria movido o seu próprio no Visual Studio tanto olhado para os erros porque eu não escondo erros dos meus alunos. Mostrei-lhes soluções. Então, quando você terminar, você teria visto as setas e você seria capaz depurar e saber como resolver seus próprios erros no futuro. Isso vai colocá-lo à frente em termos de seus conjuntos de habilidades, permitir que você melhore sua comercialização e sua renda e impressionar todos ao redor, você sabe, com tudo o que disse, eu vou vê-lo no curso.
2. Instale a edição de Visual Studio: neste vídeo estará olhando para a instalação do Visual Studio 2019 Community Edition Para chegar
ao discurso, você pode seguir o link que está incluído nos recursos deste vídeo. Ou você pode apenas Google Visual Studio, que é gratuito para desenvolvedores e waas individuais. Mas se você vai empresas, sua aplicação do que você é obrigado a comprar uma licença. Depois de clicar neste botão, seremos levados a este campo, que agradecerá antes de baixar, e você deverá ver seu arquivo disponível. Depois de clicar neste arquivo, você será obrigado a limpar o susto para avisos e executar. Isso, em seguida, lançar sobre instalador para que possamos ir em frente e continuar em um baixo que garrafa. Quando isso terminar, eles nos apresentarão algumas opções para modelos para download. Como estamos fazendo um aplicativo baseado na Web, queremos garantir que temos a velocidade no MIT, e quais desenvolvimentos desencadearam também. Então, basta clicar na caixa de seleção, que incluirá todas essas opções. Você Nader, vá em frente e clique em estrela. Quando isso terminar, você pode ir em frente e comer e dormir fora desta complicação e um estúdio visual baixo para começar no final, ele irá prosseguir o lançamento do Visual Studio e fechar o instalador. Vá em frente e entre se você tiver uma conta Microsoft antes. Se não, então você entendeu, não sabe. E talvez mais tarde eu venda Clark pela minha FEMA. Mas nossas equipes também podem mudar e otimizar. Seu desenvolvedor senta sapatos com desenvolvimento em podemos o
estúdio Sleep Starts Musical . Isso vai lançar resistiu 2019 onde eles vão nos perguntar se queremos começar por clonagem abertura núcleo
existente no projeto ou solução. Abrir uma pasta local são bonitos e projetos que podemos parar aqui como teríamos concluído
com sucesso os requisitos. Com este pequeno, você fica atento para mais.
3. Crie o projeto de ASP.Net MVC: Biggers para fazer seria começar nossa maravilhosa jornada. Emocionante jornada fora Que programação com SPD conheceu a NBC e em diferentes trabalhos. No final deste exercício, você deve ser capaz de construir um aplicativo de termo de dados totalmente usando a estrutura de entidade na
velocidade do dia sobre ele. NBC Like, anteriormente discutido NBC é de acordo com padrão, o que significa que é um dedo padrão caminho. ex-Andi colocou seu registro em uma estrutura e menor o M significa modelo, que realmente significa a representação do seu banco de dados. Na sua aplicação Web, o V representa as vistas ou o lado visual das coisas. Seja para a vista V para visual. Sua interface de usuário, etcetera no controlador realmente é apenas a orquestração em segundo plano que diz, OK, o usuário solicitou este relógio hoje responder com ele tem em alguma quantidade de lógica. Tudo bem, então você começa essa jornada abrindo um estúdio visual, e estamos usando o Visual Studio 2017 Community Edition para este exercício. R. Estaremos construindo um sistema de gestão escolar, então traga seu estúdio visual. A Andi. Eu já criei um daqueles removidos da lista, e nós estaremos criando um novo projeto de programação Web para que você possa ir para o arquivo limpo, você clicar em projeto ou você apenas usar suas interferes aqui. Novo projeto. Unidade de Milho Inkley. Então, no lado esquerdo, eu queria ir para o visual C Sharp e ir para a Web, subcategoria, sob a qual você verá duas opções de uma velocidade. Esse aplicativo Web net é o que você tem que selecionar, e então vamos nomeá-lo. Os gerentes escolares asseguram que você tenha um diretório adequado sobre isso. Você desossou. Teoh, obtenha o repositório que você precisa. Em seguida, clique em OK para esta tela. Certifique-se de que você selecionou NBC em. Queremos alterar nosso método de autenticação para o usuário individual Collins. Se tudo está bem, tudo parece pelo menos muito semelhança tochas na minha tela. Em seguida, você pode clicar. OK, O processo de criação pode ter levado um tempo, então eu apenas pulei na frente do pé quando estiver terminado, então você pode postar vídeo. Se você ainda não está neste momento acabou. Uma vez que você chegou a este ponto, você será dada esta página de destino agradável, que permite que você. Começou com a velocidade do ar Annette Ambrose para o Connected Zero de Turow e um monte de outras coisas. Bem, vamos dar uma olhada nas interferências e no que eles nos deram para trabalhar. Se você é usado para ganhar formulários, então você percebe que você não tem uma caixa de ferramentas, que teria sido um pilar para ambas as formas de vitória e foram performances na NBC. É um novo paradigmas de programação, então você não tem mais esse estilo de programação de stripping de eventos. Então não há caixa de ferramentas. Não há controles. Arrastar e soltar você terá o dedo do pé. Tudo usando o padrão é técnicas de Jamil. Então temos a solução Explorer, que geralmente é onde vamos e encontrar todo o pai com quem vamos trabalhar. E nesta situação, não
faz diferença. Vemos mais algumas pastas e será usado se formos usados para mais uma vez vento e formulários Web. Mas não se assustem. As três pastas chave neste conjunto de arquivos seriam o seu modelo. Tenha você e o Controlador Fullers bem, e depois os outros incêndios que entraremos enquanto avançarmos. Então, por favor, vá até aqui e me ligue. Se você tiver alguma dúvida, sinta-se livre para deixar um comentário ou qualquer observação na anomalia que experiência única e deixe-me saber como você está se sentindo
4. Base de instalação: modo a retomar onde paramos de ter criado ou projeto de gestão escolar. A primeira coisa que queremos fazer é configurar sobre banco de dados para que possamos
começar nossos modelos . Não assim para configurar o banco de dados que precisamos ir sobre o dedo do pé são ver menu em. Então procuramos uma habilidade,
um explorador de objetos de servidor. Então, para este exercício será usando sobre banco de dados local. Se você tiver o SQL Express ou o SQL Developer instalado, então você pode usar esse incenso. Mas para manter isso simples, eu só uso o que vem embutido com o Visual Studio. Vou soltar na minha instância de banco de dados local. Olhe para todos os meus bancos de dados são alguns dados. Isto é de projetos passados, mas queremos criar, e você precisa basicamente clicar em bancos de dados e clicar em Adicionar novo banco de dados e podemos
dar-lhe um nome. Vamos chamá-lo de gestão escolar xarope atacou meus amigos Dante sublinhou TV, ou eliminou a mina Seimas, pelo
menos por consistência. Você pode mudá-lo, mas para que tenhamos ah, mais completo. Vamos manter a mesma convenção de nomenclatura e, em seguida, clique em OK. Isso então cria ou novo banco de dados para que eu possa fazer drill-down neste banco de dados. Já que ele está nas minhas mesas, não
haveria ninguém, exceto as mesas de assistente dos octogenários, que para este exercício não são realmente necessárias. Então, vamos apenas clicar com o botão direito nas tabelas e clicar em Adicionar nova tabela. Eu incluí os arquivos de script, então você pode ir em frente e copiar o arquivo de script do Eu já incluí o script como isso geraria nosso banco de dados. Alguém para usar um fora do script passou para o primeiro 1 Mas então eu vou criar dildos Manu ality Eu copiei o arquivo de script ou plataforma de aprendizagem. E então você pode acompanhá-lo nesta seção. Esse é o seu t SQL. E você percebe que o que cada desiste aqui é replicado aqui. E se você fizer uma mudança no topo, você replica no script, para que eles funcionem muito bem em concurso. Assim que você estiver satisfeito com a tabela e sua tabela se parecer exatamente com a minha, então você pode ir em frente e clicar em Atualizar para atualizar o banco de dados e, em
seguida, clicar fora de data restaurantes. Uma vez que isso tenha sido bem sucedido, você pode repetir esse procedimento com todas as outras tabelas que este prescrever. Então criamos uma mesa de estudantes. Agora criamos um curso ainda e eu vou fazer este usando o designer você. Então temos a ideia do curso fora do curso. O nome aqui é realmente inconsequente. Mas você quer apresentar você tem um nome de carrinhos. Você sabe o que é? Deixá-la em créditos Título em créditos seria um inteiro enquanto o título seria no
fogo final Char Eu só colocar isso para 50 e outros empréstimos para ambos lá fora. Onda eu vou fazer minha chave primária e coluna de identidade em seu número de maneiras de fazer isso para mim. A maneira mais fácil de contornar identidade Carmel Tudo bem, então se você não tivesse erros ortográficos do que você não teria erros como eu acabei de ter. Então esse é o nosso script e ele vai apenas renomear ou tabela é claro, discordar mantém olhar no curso, certo. E então uma vez que tudo está bem, nós apenas como atualizações uma vez atrás e espero que a chave para estes foi que o sucesso Nós devemos ver nossa tabela de cursos listados lá E então nós temos mais uma tabela para a qual eu vou usar o script para ir. Esta é uma tabela realmente grande, então eu apenas fiz o script, paz lá e, em seguida, que iria nos dar a nossa tabela de inscrição com a nossa inscrição I d que é a nossa chave primária ou grande curso I d. Então esta tabela é o que você chama de que está facilitando muitos, muitos, muitos a
muitos relacionamentos entre todos os cursos e todos os alunos que estão fazendo essas forças. Isso distraindo todas essas associações. Além disso, eles concordaram que eles iriam ficar assim uma vez que você está satisfeito com isso, você faz como, um pouco Tendo criado com sucesso todas as três tabelas, você não está pronto para o próximo passo. Mas, claro, ele pode apenas verificar indo para a nossa sequela Explorador de Objetos e apenas certificando-se de que todas as três tabelas ao ar lá. Você pode visualizar os dados clicando com o botão direito do mouse na tabela específica e, em seguida, clicando nos dados
fora do curso. Ainda não introduzimos dados em nada, então tudo está vazio. Obrigado por sintonizar e vê-lo na próxima foto
5. Adicione o modelo de dados Add de entidade: Ei, caras. Então, continuaremos de sentar fora do banco de dados com configuração ou modelo de dados em nossos projetos para que nossos restaurantes plausíveis de aplicativos Web sejam apenas como um lembrete. Temos controladores que temos modelos e usamos. Então os modelos são o banco de dados que dizem, os arquivos mímicos que se parecem com a estrutura do banco de dados em. Eles nos ajudam a se comunicar com o banco de dados através da estrutura de entidade. Então, se olharmos para esta pasta que vêem que existem alguns modelos porque nós realmente
criamos ou projetamos usando a opção individual de autenticação de cones Se você não fez
isso , ,tudo bem. Mas o que estamos prestes a fazer é adicionar um diagrama de estrutura de entidade ao nosso projeto. Então nós apenas clicamos com o botão direito neste modelos de água, nós adicionamos, você vai para o novo item, então nós procuramos a subcategoria. São os dados dele. Selecionamos nosso modelo de dados de entidade de ponto de rádio. Podemos dar um nome que seja sugestivo do que estamos fazendo para que possamos dizer
amigos da escola . Gosto de ligar para o meu banco de dados depois dessa semana. Quando obtemos este assistente, queremos deixá-lo no designer do banco de dados porque estamos fazendo nossa primeira
abordagem de banco de dados . Então deixamos esse selecionado em seguida, então seremos solicitados a conectar o dedo do pé. Instância de que nosso banco de dados foi criado em você, lembra? Ele criou-a na nossa escola local, o que significa que eu preciso ir e colocar no servidor. Sabia que neste caso, bem é local e d e S s q l ele agora você poderia colocar esta gota conhecido. Se você tem mais de uma instância, isso provavelmente aumentaria o pouco tempo, dependendo de casa, qualquer sentido que você tem E se você está na rede é procurar tudo, então isso vai realmente levar um tempo. Então, se você sabe de cor, é mais fácil para isso. Digite-o em então, uma vez que você fizer isso, selecione autenticação neste caso, a autenticação está nesta autenticação em. Em seguida, selecionamos nossos dados. Estes deste amarrados neste e são mais tarde Esta é a TV da gerência da escola. Em seguida, clique em OK e ele vai ver que a cadeia de conexão eu apenas um pouco em, def. Olhamos para a história do contexto. Você vê que é realmente apenas Inglês quando você começa todos esses personagens e símbolos
do caminho é realmente apenas Inglês. É uma string crônica do Stan igual a e a fonte de dados está
no servidor que acabamos de começar . Tudo bem. Nosso catálogo inicial é o banco de dados que selecionamos e, em seguida, você tem algumas outras coisas entrevistar a segurança. Verdade, múltiplos resultados ativos. É verdade, em seguida, o motor por trás dele é a nossa estrutura de entidade. Assim que estivermos satisfeitos com esta tela, você pode distritar em seguida. Em seguida, ele vai nos perguntar quais objetos de nossos dados. Isso seria como incluir em nosso projeto agora Até agora? Bem, eles criaram três tabelas pensando que este clique que a caixa é se você tem todos os objetos que eles provavelmente não querem incluir. Você provavelmente quer perfurar e dormir lá. Um por um estava acabado. Então isso vai procurar um tempo. A arte do Senhor. Assim que isso for concluído, você será levado para a tela que se parece com a inscrição do curso de sigilo e alunos, ou qualquer tabela que você criou nessa agulha é que você especificou que você vai obter esses dados no diagrama. Então, se nos aprofundarmos nos arquivos que estão associados com nossos bancos e G ou
diagrama de modelo de dados . Veremos aqui que nós realmente temos alguns CS arquivar alguns arquivos de corte C afiado com as mesmas necessidades que correspondem aqui. Tudo bem. E se você fosse abrir esses e dar uma olhada, você não faz é que eles realmente apenas arquivos de classe com os meninos fora atributos Andi
olhar cordão aleatório que foi gerado. Mas então, se você prestar atenção às propriedades, você percebe que essas propriedades são durante a representação dos campos para mim a partir da data de sua não são dizer uma sociedade pobre como nós criamos você tem título como nós criamos e em seguida, créditos, e nós fizemos créditos conhecedores no banco de dados. Então, temos um tipo de propriedade inteiro experiente aqui. Tudo bem. E então você vê que há também em incluir a lista fora do relacionado em Roma. É certamente uma chave estrangeira Weber das matrículas para o curso. Então estrutura entidade está gerando o fato de que ok, em uma relação de chave estrangeira que eu estou com o incluir uma lista fora das inscrições que esta força, qualquer curso em particular estaria envolvido. Tudo bem, então estrutura de entidade está tornando muito mais fácil presa para gerenciar relacionamentos em suas associações no nível de banco de dados. Mas o mais importante, este CD, um diagrama de mistura, cria essa ponte entre ou aplicativo da Internet ou aplicativo da Web em nossa data destes , modo que você vai sobre a adição do modelo de dados dois anos projetos.
6. Tour da estrutura de pastor e como adicionar as de vista: se você souber de onde paramos no último vídeo que criamos ou modelos de dados e no instituto onde estaremos olhando para adicionar visualizações de controladores para fazer um tour geral pelos arquivos que nos ajudam através de nossa programação web. Não, o Microsoft Gate era alguns arquivos e pastas gerados. Eles nos dão uma bela e cheia de estrutura. É algo como um esqueleto ou sistema de orientação, se preferir. Não é difícil e rápido que o seu projeto mais olhar, deixe isso porque como você ir junto, você adicionar coisas estavam se movendo. Então você é para a estrutura de mim muito a partir desta bala no final do bebê. Uma vez que você criar em projetos D C, este é o completo geral. A estrutura que você tem agora eu vou olhar para as pastas. Você pode fazer uma pequena turnê em apreciar totalmente exatamente o que temos. Então, um novato, você tem alguns arquivos do tribunal. Esses são essenciais para o início real da nossa aplicação lá. Alguns pré-processadores, você sabe, estabelecem configurações de proteínas de coisas de identidade, alguns pacotes para nossas estrelas e scripts. Eu não vou entrar nos detalhes disso, mas nós podemos apenas ter uma apreciação do que é um novato. Se olharmos para o conteúdo, vemos que temos alguns arquivos CSS fora da caixa, e V C cinco vem com bootstrap, kindof integrado e integrado. Assim, seu aplicativo Web tem a aparência e a sensação de inicialização por padrão. Você pode realmente removê-lo se desejar. Você pode apreciá-lo se quiser. Você pode fazer o que quer que esteja lá. Eles também fornecem outro arquivo CSS padrão, que é seu para editar à vontade. Esta prática teria que você criar outro arquivo CSS e substituir estrelas e bootstrap em
vez de editar arquivo chef. Então é por isso que eles teriam lhe dado outro onde você iria adicionar seus próprios
estilos personalizados e thes adicionais o me bootstrap, mais personalizado e mais personalizado no suporte controladores temos três controladores em nós podemos usar a partir da convenção de nomenclatura que o nome do controlador seria alguma palavra neste caso, oponente no controle de palavra. Oh, e se você tem todos os três rápido, você notou que eles vão ter visto isso por meses. Alguma palavra neste caso casa na palavra controle gerenciar salvador controlador criaria um novo controlador. Você deve ter o que você está seguindo para terminar com o controlador de palavras. Taxas internas. Tudo bem, fundos. Esses são gerados. Esses estão vindo com o bootstrap conosco. Jogue a internet. Nem todos os computadores são com a ajuda de fundos que você gostaria de exibir. Por isso, é sempre bom, pelo
menos no moderno desenvolvimento Web para incluir o arquivo de fundos com seus projetos para que o servidor senhores os fundos como se opõem à máquina de avião. Então é por isso que está lá. Aconselho-o a não
comê-lo . Honestamente. Sempre dar que passamos por modelos em, vimos onde temos ou diferentes arquivos de classe e adicionamos ou portão deste modelo de entidades . Então temos uma loja de pontes dias disso. Temos uma pasta Scripts, que por favor postar um monte fora de scripts, principalmente scripts de consulta J que são necessários para complementar ou bootstrap scripts. Nós também temos modernizador responder, que ajudou com a capacidade de resposta e compatibilidade para trás para mais. Hmm. Se eu material para navegadores mais antigos, então outros este material casas pré-empacotado com a palavra projeto, você não tem que adicionar essas coisas manualmente. Tudo bem, então aqui temos ou visualiza pasta, que por favor hospede o dedo sobre reservar-lhe arquivos com a extensão que C s h. então aqui temos ou visualiza pasta,
que por favor hospede o dedo sobre reservar-lhe arquivos com a extensão que C s h. Acho que parece. Veja, afiar HTM de combinado. Isso é exatamente o que reserva? Não. Eu queria apreciar a correlação entre os nomes das pastas aqui nos pontos de vista sobre os nomes dos carrinhos de fundos. Então vamos olhar para o controlador doméstico Onda, agradeço isso. Correlação. Então temos um controlador doméstico, que é um arquivo CS. Onda, um arquivo CS é apenas um arquivo de classe. Como você vê, é realmente apenas uma classe de dor de uma classe base chamada Controller. Nele,
ele tem funções,
métodos, procedimentos, procedimentos, qualquer palavra-chave que você usou identificá-los. Tem aqueles. Todos eles retornam algum tipo de resultados de ação no valor de retorno para inação. Resultado é vista, Você sabe, o que isso está fazendo é estabelecer que para cada método que você tem aqui, você deve ter um arquivo de visualização correspondente em. Isso é o que isso retorna. Então, quando você busca remetente para o índice do controlador doméstico, foi procurar através do suporte vista em que eles procuram um cheio do nome correspondente casa sobre isso. Ele vai procurar controlador com uma visão para ver com diversão correspondente,
filho, filho, você indexar, em
seguida, ele irá devolvê-lo. Então isso significa que se você tem um método aqui e você não tem nenhum arquivo
correspondente em uma pasta correspondente que você tem algo como uma era 404, nós vamos entrar nisso e explorar tudo isso em alguns minutos. Então eu só dar uma olhada no índice muito rapidamente. Nosso arquivo de índice. Eu queria apreciar que ele tem coisas puramente html em seu além desta seção, que é precedido por isso no sinal. Uma vez que você vê um lado de fora, isso significa que você está sobre sobreposto C afiado até o seu HTML. Tudo bem, então lembre-se é um arquivo HTML CSS. Então ele está seguindo cerca de um pouco fora c afiado nele está mesclando com html em eu só faço um exemplo
rápido de colocar, veja, afiar isso. Outros protegidos se declaração assim no sinal. Se um entre este exemplo apenas para mostrar-lhe toda a razão funciona que realmente me
permite criar off Desculpe. Bem, já que isso me permite realmente sobrepor c bem velho aqui no meu regional. Então essa é a relevância do meu arquivo de consulta ou reserva. Outra coisa a notar é que não temos aquele esqueleto tradicional. Chamo-lhe um esqueleto onde cada questão, Beatrice tempo com o nosso tipo de doc na nossa cabeça e ou etiquetas do corpo. Não temos isso aqui. Nenhum desses seus arquivos tem. Isso é porque todos eles estão herdando do que chamamos de arquivo de layout. Vamos ver a lixa de unha daqui a pouco. Mas o que eu realmente quero que você veja e aprecie é o fato de que cada arquivo aqui o nome corresponde com o nome fora do método. Isso é o controlador. Tudo bem,
Então, uma vez que você tem um nome de método mais uma vez, você precisa ter um correspondente arquivo você em uma pasta que tem um nome correspondente para o controlador. Então vamos fazer uma visita guiada. Andi finalmente pressionou às cinco. O momento evoluindo, esperando por isso cresceremos. Então pode ter demorado um pouco. Mas uma vez que você está aqui, queremos dar uma olhada em todos os Visual studio e sp .net NBC estão nos ajudando até criar um portal
totalmente funcional e sites alemães. Não, este é o nosso discurso de índice. Regra cardinal para mim, quando é algum tipo de design, é que todas as páginas devem ser chamadas de índice uma vez que é o home made pretendido, direito como ou página de índice. Se você olhar para isso e olharmos para o frio, você vê a correlação entre o que está aqui como conteúdo sobre o que estava na página também
verá que temos um pouco bootstrapped aparentemente terra onde usando os
botões de amor bootstrap , Até os fundos vêm de besteiras. Tudo está integrado com lobos. Não, eu quero Justo também aprecio que este está carregando de baixo Post. Ele não está carregando de seus conjuntos de arquivos locais como seria se você estivesse construindo uma página
HTML normal . Visual Studio está realmente conjurando uma sessão fora. I s expressa s uma certeza para serviços de informação Internet. Portanto, é 100 de muitas fibras e off que eu estou usando para emular uma experiência de servidor Web. Quando você vai ser sobre mais, que é quando você apertou cinco. Agora, se nós manos três cone, vemos que esta é a nossa casa semanal. Um barco. Vemos essa mudança de ligação. Portanto, não, temos hosts locais em seu número de porta pode ser diferente do meu. Vemos a casa. Vejo os nossos barcos. Não, lembre-se ou controlar era tudo esperança então qualquer que seja o nome fora do controle é, isso é o que vai aparecer. E isso será seguido pelo nome fora da vista que pedimos. Então, na verdade, contato. Você vê um contato de barra inicial de alteração semelhante. Tudo bem. E eu vou voltar para casa. Ele vai carregar índice de qualquer maneira, então ele não precisa indicar mais nada. Vamos voltar ao estúdio visual e fazer algumas mudanças. Não, de volta ao estúdio visual entende. Saia do tabuleiro do mal. Não, nós estamos indo para o pé. Adicione uma nova exibição. Então, eu só vou dar dois passos. Stone on, direito público. Sabe, nosso tipo de retorno foi o resultado da ação. E depois vou ver os testes. Você espera que ela esteja usando aparelhos de pássaro, então sabemos que temos que voltar a ver como esse é o valor. No mínimo, os nossos métodos. As coisas estão esperando. Não. Se eu executar no modo de depuração novamente em, em
seguida, tentar crescer para esta exibição, você deve obter uma seta porque não há nenhum arquivo correspondente nesta pasta. Então vamos executar esse experimento e reconstruir. Vá em frente em conformidade. Sei que temos o nosso chicote. Podemos seguir a convenção de caminho de costura que estamos acostumados para que você possa apenas ver uma barra casa já que esse é o controlador que acabamos de adicionar essa vista também. Então eu vou escrever no nome fora da nova vista adicionada,
que é teste view pressione enter on, em
seguida, foram recebidos com esta página muito pouco atraente. Mas, então, se tomarmos o tempo ou para apreciar o que ele está vendo, está nos deixando saber que a vista com este nome não foi telefonada em nenhum dos locais que foram pesquisados. Então vemos que ele olhou nas vistas Boulder. Ele olhou na pasta pessoal correspondente em que eles não encontraram nenhum arquivo que
possivelmente poderia ter passado, como você arquivou. Certo, então é esse tipo de flecha que teríamos sem mim. Os ajustes cardíacos nos nossos projetos. Agora, de volta ao estúdio visual, ainda
temos um pouco de trabalho a fazer para ter esta vista e corrimento. Nós já criamos o material do método aqui. O que queremos fazer é trazer o arquivo aqui. Você pode clicar com o botão direito do mouse seis ímpares em ambos. Então dê. É o nome que você sabe que queremos. Então isso seria testá-lo. E então vemos um monte de outras opções aqui. Nós não precisamos usar sobre a classe modelo ainda. Não queremos aceitar isso, mas você vê algo aqui sobre Leo Page. Eu mencionei suas páginas anteriormente, mas ainda não fizemos para olhar para o campo rótulo. Mas deixarei isso em branco para nenhum Deus. E depois passa por uma coisa chamada Strap Holding. Sei que temos nossa visão recém-criada. É uma página bem simples. Como dissemos, é quase uma página html ossos de cerveja que é capaz de ter alguém geme ou c texto nítido nele. Você obtém o título aqui nesta variável, então ele também está gerando tudo isso sobre eles apenas em chega. Rebocador de pés. Esse é o mundo “Hello” dele. A Andi. Vou dar-lhe um daqueles famosos óculos de aulas de bootstrap e é o cílios de texto em quatro. Então, devemos obter azul fixo quando nos alugou foi ele pode controlar, mudar e ser ou construir e clique construir solução em obras Apenas garantir que não temos erros de
sintaxe em nossa placa. Nós também vemos que é o nosso arquivo você é criado aqui. Então, se você voltar para o barco ancorado, então crescemos para testá-lo, então devemos ser recebidos com uma página com um H para conversar com este texto gerado, bem como o texto que acabamos de adicionar. Tudo bem, não, que fizemos os ajustes. Volte a esta página primeiro para mim. Estes você pressionou cinco do estúdio visual do que ele nunca iria dedo do pé para o discurso que vemos aqui que nós temos mais h rebocador imprimir este e nosso Olá mundo olhando quarto porque nós colocar na classe bootstrap para texto para que nós podemos apenas ir Makoto pessoas mais e sei que sabemos hota adicionar mais pontos de vista. Então, nossos projetos mais uma vez você vai para o controlador em. Nós nos certificamos de que há um stub método que tem um nome correspondente com a exibição que queremos chegar. Tudo bem? Não, mencionei a página do Leo mais de uma vez no Dime No. One's Give You um passeio rápido sobre o que está no pedacinho. Essencialmente, a página do véu é um reutilizável genérico. Tim implora pelos seus pêssegos. Você pode ter mais de um carregamento no gabinete por ter mais de um. Ofertas seria como Se você tem um sistema que tem um cliente voltado para o lado e um
portal de administração , então você sabe que você é Porter provavelmente parece diferente do cliente, fundindo um para que você possa ter um pouco para o lado administrativo e colocar baixo para um cliente taxas dentro em. Então isso reduziria a necessidade de fazer as coisas repetitivas repetitivas várias vezes. É apenas fora significado para Odinga scripts em fazer a escala HTML. É sempre ligado,
certo, certo, então é por isso que você tem uma escala tão grande Não versão fora de seu arquivo aqui. Mas então, na pasta compartilhada sob vistas, você tem um pouco de idade nazista s H d você sabe, arquivo em. Você entra nisso e não é bombardeado com um monte de HTML. Mas se você der um passo para trás e você apenas passar para ver que é regulável, doutor, é HTML para onde estamos indo. Rebocadores dentro que foram algumas declarações de metal, ou charset e para fins responsivos de Web design, estes são bootstrap necessário na versão que você vê aqui onde o título está sendo definido dinamicamente. Se nos lembrarmos de surfar acima da autenticidade, vemos que aqui dissemos Vista ensacado. Chamado ele modo de exibição de teste no arquivo de layout. Ele está mudando a cada página. Isso é uma renderização personalizada, em
seguida, a parte estática dele, que é o meu aplicativo dotnet SB. Já que estamos fazendo um sistema de gestão escolar, vou mudar isso para o sistema de gestão escolar. Tudo bem, em, então, algumas das declarações aqui estas funções são funções C afiado. Então vemos aqui estão no sinal, significando que estamos sobrepondo alguns c afiado em então Styles é uma classe estática que está chamando uma função chamada render, que é então passando em algum mater anterior, que, se você olhar para o asiático de que é gerado a partir deste, você vê o cabo real ligando todos os nossos arquivos de nossa pasta de conteúdo. Tudo bem, eu não vou entrar nisso. Certo? Não, mais tarde, exploraremos isso com mais detalhes. Só quero que aprecies o que estás a ver. Em seguida, renderizamos alguns dos scripts. Neste caso, estamos realmente tornando apenas modernizador, porque aquele testículo eu corto tudo o resto. Mas então abaixo é onde estamos renderizando os outros scripts, como o J Query e bootstrap Andi sentado alguns parâmetros. Não. Se nós apenas percorrer em olhar para ele. Vemos o corpo que vemos aqui. Estamos adicionando barra suficiente seria forma estilo cinta. Veja aqui que temos um link de ação. Então temos no objeto sobre HTML e tem uma função chamada,
na verdade, que está tomando alguns arquivos, alguns valores como parâmetros. Tudo bem, então aqui, eu só vou mudar o nome do aplicativo porque eu tenho certeza que nós nos lembramos da nossa idade, você vê, aplicação quase saindo toda vez em cada página. E quem gostaria de dizer o nome do aplicativo realmente gostaria de dar-lhe o nome que deveria ser. Então este era o sistema de gestão da escola, e então temos bastante bar em casa sobre contatos quem? Olhe aqui. Vemos que com isso é o nosso bar suficiente. Temos cada um desses links em casa um parafuso. Eu sou contato. Não, acabamos de criar uma vista de teste. Você gostaria que ele estivesse na barra de números que podemos ir para ele também. Então eu vou apenas controlar De que duplica a linha, e então nós podemos apenas modificar este sargento, ver o teste você está bem? Então o primeiro bloco de texto diz o que é. O que você quer imprimir? Chega de fogo. O segundo bloco fala com o maio real. Eu pensei que ele deve procurar Então lembre-se no controlador que queremos procurar o método pela vista de teste nome. Notei que não há espaço aqui porque não colocamos espaços em nossos nomes médicos. Mas temos que dizê-lo como é aqui em que não é sensível a maiúsculas e minúsculas. Se você quiser usar o olhar é aqui ou usar. Olhe está aqui ou prossiga com o caso. Nós vamos ser todos a mesma coisa sobre e participa com este aqui porque nós não queremos impressões dos dedos, a vista de teste cased camel para nossos usuários. Então nós príncipe o que queremos assim ou usá-lo aqui em então o controlador está em casa. Então este último Permata fala Controle. Então, se você der uma olhada em casa, você veria que estamos imprimindo em casa. Você sabe fogo suficiente aqui No entanto, ele está ligando para o método de índice dentro do nosso controlador doméstico. Então ele está ligando para o nosso método de índice em nosso controlador home,
que, em seguida, procurar as pesquisas para a vista todos índice andan renderiza que, no entanto, estavam dizendo ao usuário que está em casa tudo bem. E então, à medida que descemos em nossas vidas, vemos aqui em nosso conteúdo corporal se isso fosse renderizar corpo então renderizar corpo realmente fala a renderização real do CS Ishan de você arquivo dentro de todo esse layout, que é por isso que todos os eles estão sendo processados com comprador suficiente e com um filtro. Vimos o nosso rodapé teve nossos opera assinar o ano Andi algumas tomadas aleatórias que teria sido gerado meu SB feito se aplicação. Então, já que estamos mudando todas essas aparências fora da minha velocidade em sua aplicação, queremos garantir que todos digam sistemas de gestão escolar. Eu simplesmente adoro isso. Isso é em deslocá-lo para cá. E então eu posso controlar, mudar e ser e construir. Certifique-se de que não tenho erros de sintaxe. Então podemos voltar a depurar mais no DSI, todas ou alterações pressione cinco para entrevistar. Então, quando nossa página é carregada, vemos aqui que temos todas as nossas mudanças refletindo. Temos o sistema de gestão escolar impresso aqui em vez do nome do aplicativo. Temos nossa visão de teste. Não, eu não fiz. Ou barra suficiente em que temos ou rodapé refletindo ou idade. Então, se quisermos começar a mudar o conteúdo, você sabe, tudo não iria querer ter um sistema de monitoramento escolar com ESPN dot net impresso . Tudo bem aí. Queremos alterar o conteúdo e assim por diante. E temos que entrar em nossa visão. Faz Pino o conteúdo e começar a colocar em todo o nosso conteúdo personalizado para cada página. Tudo bem, então eu espero que você aprecie visualizações inteiras e controladores trabalhando em espera. Todos se ligam ao pH Leo no todo. Você pode efetivamente ir um barco adicionando mais conteúdo e funcionalidade ao seu site. Vejo você de novo na próxima vez
7. Scaffolding:: não neste estúdio ou vamos estar olhando para andaimes sobre a geração de controladores e visualizações para a funcionalidade em nossos sites. Até agora, vimos o que é o controlador, que é uma visão. Segure um link. Você vai criar uma nova exibição? Onda tocando em um controlador O que não fizemos foi realmente ligar o modelo a tudo. Então olhamos para o mar. Nós olhamos para o V. Nós olhamos para o M. Nós olhamos para eles com medo, isolamento e não, nós vamos realmente amarrá-los todos juntos. Então, nesta turnê,
olhamos para um procedimento ou processo no estúdio visual na maioria das estruturas NBC que você usa chamado andaime, onde associamos o modelo com um controlador e geramos a visão em conformidade. Não, eu tenho aqui na tela meu quadro de entidade Bagram sobre o que vamos fazer para começar é criar um controle de curso. Oh, Andi, alguns pontos de vista associados a funcionalidades cantadas. Quatro cursos em suma, C é para criar Nosso é para leitura. Você é para opiáceos. Andi está deletando. Então as operações atuais basicamente gerenciar, são governados tudo o que um usuário faria em um site que é o médico. Assim, sem mais delongas, vamos sobre a criação de cursos controlador, vinculando-o ao nosso modelo de curso na geração de um monte de pontos de vista que são perdidos, interagem com ou cursos em nossos bancos de dados. Então, para iniciar este procedimento, vamos para a nossa pasta de controladores. Nós direito, clique e clique, adicione. Em seguida, selecionamos o controlador. Então nos é dado esse tipo de janela de feiticeiro onde eles nos perguntam, Que tipo de controlador você gostaria? Você vê, aqui você tem MV C 5 que você tem com o FBI para com um monte de outras coisas. O que realmente queremos fora deste é NBC cinco controlador com pontos de vista usando
estrutura de entidade muito específico. Então nós selecionamos este em uma semana como essa. Então eles nos perguntaram, o que você gostaria como classe modelo? Então, a partir deste menu suspenso, vamos ver cada arquivo CS que está em nosso projeto listado aqui. Mas não estamos interessados em todos os arquivos CS. Procuramos especificamente aquele com o nome que corresponde à nossa missão. Então, nesta situação, queremos o curso que é encontrado em nossa pasta de modelos em. Lembre-se, se perfurarmos próprios nas marcas de mídia, veríamos o arquivo CS. Vou fazer isso rapidamente e dar-te algum contexto. Então nós perfuramos modelos. Temos o nosso trabalho diferente. O Bagram. Nós perfuramos isso e então não vamos aqui. Você vê que você tem curso que CS e que é um modelo que queremos usar o gera este controlador assim mais uma vez, nós diretamente controladores. Nós vamos para o controlador de clique do anúncio. Nós selecionamos NBC cinco controlador com vistas usando estrutura de entidade e clique em adicionar Em seguida,
selecionamos a partir deste curso caixa suspensa sobre a classe de contexto de dados seria a nossa escola Montreal DP entidades. Tudo bem, então nós podemos apenas assim nós podemos escolher usar um controlador de canto. Ações estão precedendo desta vez e então eu uso na próxima vez em. Então eles estão nos perguntando qual página de layout gostaríamos de usar para nossas visualizações? Então vemos aqui temos um caixas de seleção é gerar visualizações. Temos uma caixa de seleção aqui. Essas são suas bibliotecas de script de referência, o que realmente não precisamos fazer, já que nossa página Leyla já tem as referências. Então, vamos apenas selecionar ou pequena página clicando no botão de reticências. Havia indo para visualizações compartilhadas e, em seguida, selecionamos nossos layouts. Mais uma vez, você pode ter múltiplos. Eles também você escolher pouco que é apropriado para esta situação em Então, no final de sua não seria pedir para o controle habilitar você pode ver seguindo a mesma
convenção de nomenclatura . Ele também é gerado usando o nome fora do modelo que é curso eles dizem cursos no controlador de
palavras. Então, a convenção de nomes, quero dizer adolescentes, então clicamos em adicionar, ele vai passar por um exercício de andaimes. No final deste exercício, você será dado um arquivo de classe e você vê muito mais núcleo do que estamos acostumados a partir de ou
controlador doméstico . Tudo bem. Não, mais
uma vez ou controlador é apenas uma classe com o nome fora do modelo nesta situação
no controlador mundo em sua herança de uma classe base chamada controlador. Em seguida, eles vão sobre inicializar nossos objetos de contexto de dados que nos permite comunicar com nosso banco de dados. Lembre-se, continue dizendo que este diagrama é a nossa ponte. O que? Esta ponte está toda envolvida nesta linha aqui na linha 15. Então inicializamos este objeto para uma nova instância fora do nosso diagrama de entidades, que estabelece a conexão com o nosso banco de dados. Então, se
olharmos através, veremos que temos alguns métodos que foram gerados, e alguns começaram a orientação sobre o que está acontecendo aqui. Então o 1º 1 é Índice. Lembre-se, como sempre, índices, O primeiro arquivo que deve estar em qualquer site neste retorna uma visão. Mas então, nessa situação, vemos que temos parâmetros nessa visão. Tudo bem, então você vê que você tem B B, que é o mesmo nome era nosso contexto de banco de dados em. Estamos executando uma consulta contra a tabela de cursos, e estamos apenas analisando todas essas listas de dedos mais adiante. Você não tem um discurso detalhado que está tomando provavelmente um inteiro. Tudo bem, então essa pergunta pode realmente significar que pode ser
Não, pode ser, ah, valor. Ele está se preparando para que possa ser um não eu desvalorizar que está vindo sobre ele como um cheque superficial para dizer, se o eu d que é passado em não é do que retornar algum núcleo pedido ruim tudo bem, caso contrário ele vai na fonte toe que curso por I d. Então é o seu banco de dados pontos cursos não encontrar encontrar irá retornar qualquer registro com este eu d e armazená-lo em uma variável chamada curso. E então ele vai continuar a dizer se o curso que é retornado não significa nada
volta no final desta consulta do que ainda diz, Http não telefone. Então você vê alguns retornos aqui e nenhum fora deles nossos pontos de vista. Tudo bem, então resultados reais. Mas os resultados da ação são baixos. Zito tem valores diferentes retornados. Desde que você tenha o valor correto é um valor aceitável. Então você tem um carro para retornar o tempo para que possamos retornar no resultado do código HTTP Status para Butters sobre solicitações que podemos retornar. Http. Não telefonou ou ou podemos retornar a vista com o nosso curso de origem. Certo. Então procuramos o curso na época. Uma vez que nada é não em tudo confere. Em seguida, retornamos a visão com nossos dados do curso. Nós também temos ah criar meus pensamentos stub em. Vamos ver que há para criar o método pára Nós temos um para obter que apenas retorna de você e, em seguida, um para postagem, que vem com alguns recursos de segurança e alguns encadernação. E à medida que
avançarmos, vamos explorá-los mais. E este aqui. Certifique-se de que os dados voltando são válidos antes que ele vai sobre tê-lo em nossos
bancos de dados ou curso é estável em nosso banco de dados em, em
seguida, salvar as alterações em, em
seguida, redirecionar para o índice. Se o estado é convidado, então ele retorna para a exibição com o curso, com algumas mensagens de erro informando o que está faltando ou relógio foi convidado da mesma maneira
que temos que criar. Temos que editar. Então faça uma edição aqui, que é o que eu entendo. E nós temos uma edição aqui, que é um curso do que as bases do cabo são bastante semelhantes. Então temos um semelhante é construir para nossas exclusões e, em seguida, temos uma função dispor. Então tudo isso foi gerado apenas por você, adicionando um controlador tinha na classe gerando as visualizações em você. Pegue tudo isso. Então a chave no que eu disse foi gerar as visões. Dispomos dos métodos, por isso temos de assegurar que temos os pontos de vista que correspondem a estes métodos. Em uma pasta correspondente para este controlador que eu vou para o meu explorador de soluções. Vejo aqui, o controlador foi adicionado controlador de cursos, mas então eu preciso validar as vistas. E se descermos para pontos de vista vemos aqui cursos que o nome neste colapso isso os nomes correspondem cursos, cursos controlador, pasta. E você vê que para cada método que está aqui no controlador, você tem um arquivo correspondente. Então, se clicar em Índice verá algumas coisas acontecendo aqui que não estava presente no pote índice
anterior. Então nós temos aqui na inclusão fora de um modelo, tudo bem, no tipo suave I inumerável. Então C afiado tem alguns tipos de dados. Se você está fazendo isso há um tempo, tenho certeza que isso não seria muito estranho para você. Mas você tem isso sendo incluído, porque para toda a justiça, o arquivo de índice está recebendo uma lista. Certo. Então lembre-se, aqui, estamos passando uma lista para o índice off db dot cursos para listar. Então ele está recebendo um tipo de coleção. Tudo bem? Está recebendo uma lista de cursos. página de índice deve exibir todos os cursos. Eu sinto muito. Isso é errado. Arquivo de índice. Todos os cursos que teriam sido no banco de dados, como no tempo livre. Está carregando este discurso? Tudo bem. E eles têm algumas coisas acontecendo aqui. Você tem este botão criar link real para cria em porque índice e criador no mesmo controlador, você não precisa explicitamente registros do controle para que ele pudesse colocar você poderia colocar no controle em cursos de Inglês. Você pode redirecionar outro controle fora do curso. Isso seria porque não há criação dentro do controle doméstico, certo? Mas então, virtude do fato de que eles estão no mesmo controlador, você não precisa ser tão explícito movendo-se do índice para criar. Então isso funciona. Então vamos criar uma tabela. Temos propriedades para os nossos cursos estáveis que não incluem a ideia. Então nós tivemos i d foram apertados onde os créditos Nós não precisamos exibir o i. D em d. M. V. C sabe que você não precisa exibir o i d. Então, quando eles geraram esta página que se certificou de apenas excluir o que eles acham que você não gostaria de exibir para o usuário final de qualquer maneira, então temos um nome de exibição para título em um para créditos e todos esses são ambos aqueles
são colocados na seção de cabeçalho off ou tabela em. Então nós os vemos injetando um pouco de frio forte aqui onde eles dizem para cada um. Tudo bem, então eles estão dizendo para cada item no modelo sendo este aqui ou os dados voltando. Assim, uma vez que você passou os dados para a exibição, você pode referenciá-lo vendo o modelo. Essa é uma palavra-chave. Então, todos os dados, apenas passando o mouse sobre a dica da ferramenta, está indicando que isso faz referência à coleta fora do curso está vindo do banco de dados. Mais uma vez, claro que este índice controlador estava saindo de nosso banco de dados, olhando em nossa tabela de cursos para obter todos fora deles e analisá-los para listar em passar isso para a vista. A exibição pode identificar todos os dados que entram através da palavra-chave chamada model. Já que é uma coleção, precisamos listar tudo na coleção de quadrinhos. Então dizemos que para cada item no modelo ou conjunto de dados voltando, queremos nossa regra. Assim, para cada item deseja gerar uma regra e esta regra deve ter uma coluna para o título em uma coluna para ou créditos e, em seguida, 1/3 coluna com nossos botões de ação, que diria editar detalhes e excluir que cada um irá escrever para o correspondente em nosso controle. Oh, eu quero lembrar em nosso controlador de cursos, nós tivemos edições. Eu acho que rapidamente onde as edições que tivemos cria. Nós vamos ter que, mas nós temos criar em nós temos detalhes sobre. Também temos exclusões. Não, precisamos ser capazes de ir a esta página ou a qualquer um fora de quatro páginas. Então eu vou para a nossa página de layout e certificar-me de que nosso Leo tem um link que pode
nos levar para a página de índice. Então, removerei ou criei anteriormente a visualização de teste. Como não precisamos dele daqui para frente,
vou apenas digitar manualmente isso. Além disso, estou criando um novo agora de propriedade ou link suficiente sentado um link de ação. Então, no sinal HTM l ponto link ação e, em seguida, eu estou passando como parâmetros. O que eu quero ser impresso. Sei o que quero ser impresso. Seriam cursos. Como cursos desesperados. Então estamos olhando dentro do índice. Desculpe, estamos procurando o método de índice dentro de nossos cursos. Controlador. Tudo bem, então lembre-se que é o que é exibido a ação ou a visão que queremos Onda, o controlador, que devemos ser capazes de encontrá-lo agora. Tendo feito tudo isso, vamos acertar um cinco e ver o que acontece agora. Este é o resultado do nosso pago até agora. E vemos aqui que temos um link chamado cursos. Quando clicamos que devemos ser guiados para a nossa página de índice em. Quando essa página é carregada, vemos que ela está vazia. Temos alguma coisa na nossa base de dados, certo? Mas então vemos que é consistente com o que vimos na visão que temos índice, que eu acredito que está em um cada para falar. Temos um link que é sua criação nova, que, quando clicamos, deve nos levar a criar forma. E depois temos os dois títulos para as nossas equipas. Mas não temos regras e colunas depois porque não temos dados. Lembre-se, ele está gerando cada regra para o que está na data deste. Se o banco de dados estiver vazio, nenhuma regra será gerada que para cada loop não será executada. Então vamos de barco. Criar algo novo para criar você nos traz para a nossa visão de criação que nos pede um título sobre os créditos. Então você vê o criativo que você está realmente gerando automaticamente. E acabei de passar para o Visual Studio enquanto ainda estamos no modo de depuração. E dê uma olhada no Você criativo. Vemos que gerou um formulário. Tudo bem, então há uma função auxiliar HTML chamada begin form, que renderiza um farm em HTML em então, usando algum código bootstrap, estamos recebendo um formulário aqui que há um resumo de validação com uma classe anexado a ele em . Há um certo padrão aqui que, à medida que você vê o frio cada vez mais, você pega o padrão. Então eu deliberadamente não vou entrar nos detalhes de certas coisas porque eu quero que você veja e aprecie o padrão enquanto você avança. Essas certas coisas virão à tona cada vez mais no caminho Sempre vivo neste dia se tivermos um rótulo para que você veja outro problema, minha função auxiliar sendo usada e estamos olhando para o modelo em estamos criando um legal para um título em dar-lhe algumas classes bootstrap. Desculpe. Tudo bem, , então, não. Aqui nós geramos um editor para Então, há uma ajuda de função que é seu editor para
praticamente angústia é que eu iria olhar para o tipo de dados que eu deveria criar um controle para e criar um controle apropriado. Então, se tivéssemos um booleano para o nosso humano, ver que precisávamos criar algo para o Editor iria gerar automaticamente essa caixa de
seleção. Então, há situações em que você quer usar o editor para facilidade lá, momentos em que você precisa ser explícito para que você possa ver html dot leva a caixa para Tudo certo, então você pode ser explícito lá. Certas vezes você quer ser muito explícito porque editor para tem algumas limitações. Livros didáticos para vem com mais livros didáticos funções relacionadas que estão prontos para ir algumas coisas outra forma. Então nós queremos uma caixa de texto para o nosso modelo, e nós temos um pouco, hum, a expressão aqui para dizer modelo esse título, e então nós estamos adicionando atributos de problema. Se você se lembrar de HTML, quando você tem uma nação vai dizer que você pode adicionar em atributos como uma classe zaydi, Por favor solda quando se trata de caixas de texto. Então, estamos adicionando novos atributos Ishijima. E lembre-se, isso é tudo C afiado, então temos que tratá-lo um pouco diferente de tudo que teríamos em ST cada demo. Então, estamos adicionando atributos adicionais foram adicionando mais uma vez outra coleção fora de atributos. Agora, se você usar livros didáticos para que alguns fora, o tribunal aqui também terá que mudar para que você não será capaz de ver novos atributos asiáticos desta maneira. Você tem que refratar seu tribunal um pouco,
então, para não complicar a situação, já que estamos esperando nosso apetite, eu deixo no editor para continuar. Em seguida, movemos ao longo de modo que vemos Editor para está gerando ou caixa de texto, e ele está atribuindo uma classe bootstrap chamada formulário Bash Control para ele. Nós também temos outra seção para mensagem de validação, que significa que se estipulamos no nível do banco de dados que este campo não é crédulo, então a mensagem de validação saberia que uma vez que tentamos enviar um valor nulo ou um vazio quando clicamos em enviar em nossa fazenda, ele irá rejeitá-lo como vimos em nossa lógica controlador, onde ele verifica é valorizado, então se ele não é válido, então ele irá rejeitá-lo e retornar a visão com qualquer corpo veio de volta. A mensagem de validação seria mostrada em conformidade. Então ele faz, Ah, muito do trabalho pesado para nós então. Eu não sei isso. Tudo o que temos são Submit Button, que apenas recebe uma classe bootstrap por padrão,
alguém para mudar o sucesso do dedo do pé. Então, tendo mudado para com sucesso apenas salvar as alterações ainda estavam no modo de depuração em Nós apenas voltar para a nossa tela e atualizar Onda baixa. É para recarregar ou página com nossas alterações. Lá vamos nós. Não, vamos criar um novo curso. Então eu chamo este em produção de Web design. Claro que vai. Meu gasto na época, como eu estava dizendo com a edição para ele sabe que créditos é suposto ser um inteiro, então ele está realmente nos dando uma caixa de texto. Estou digitando texto agora. Não é aceitá-lo porque o controle que ele está gerando para ele é um selecionador de números em si. Tipo número P esclarecer, inspecionar elemento. Tenho certeza que vou ver o tipo de entradas para ser número. Lá vamos nós. Por isso, está a restringir-me ao que sou capaz de entrar. Então, geralmente introdução ao que design é um curso de três créditos que eu só poderia criar. E lá vamos nós. Então voltamos para a nossa página de índice. Tudo bem, Andi sabe, vemos que temos uma regra gerada com duas colunas, uma para o título, uma para os créditos em seguida outra coluna, que tinha nossos botões de ação para editar detalhes Onda excluir, e cada um me levará para a página correspondente de acordo com o tipo. Então, se eu clicar em editar e eu vou realmente trazer o Visual Studio desta vez e colocar um ponto de
interrupção em nossa ação de edição, tudo bem, então cada método aqui é chamado de ação, então o ponto de interrupção está sentado lá ainda estavam no modo de depuração ativado. Então eu vou clicar em editar, e então vamos tirar um tempo para dissecar o que acontece no Visual Studio. Então o ponto de ruptura é atingido. Então, se eu pairar sobre a idéia, eu vejo que eu quero. E isso porque nosso registro recém-criado em nossa tabela de cursos tem uma idéia fora de uma. E então se passarmos pelo nosso cordão, vemos que se eu d é igual interno, esse valor é duas quedas, então ele pula por isso. Em seguida, ele continua a executar esta consulta,
que, em seguida, dizer é encontrar o curso com o I D um. Então, se eu passo por que ele executa essa consulta e ele vai passar por algumas coisas em, então ele deve retornar curso. Então, se eu passar o mouse sobre o curso, eu vejo e que ele volta com um monte fora de valores gerados. Mas posso investigar e ver os detalhes exatos aqui. Vamos ver que temos ou créditos sendo três e ou título sendo introdução toe Web design em. Como eu estava dizendo anteriormente, uma vez que há um lançamento na entidade City, Framework irá automaticamente trazer sobre quaisquer valores são ID associado. Então, como não temos inscrições que estão diretamente relacionadas a este curso específico do que a lista fora de inscrições é zero, ele está vazio. Então, se eu pressionar f cinco, ele vai continuar. Teoh avaliar Se o curso não é nenhuma terra, sabemos que não é saber porque ele acabou de ver que ele tem um valor, então os valores não sabem, então ele vai retornar a visão com os dados correspondentes que acabamos de olhar para cima, e Isso é tudo o que nos envolvemos no procedimento de qualquer coisa onde, em seguida, diz, trazer para cima este formulário. Então, vemos que parece muito semelhante às nossas criações, exceto que vem pré-carregado com todos os dados porque procuramos o curso, obtemos os dados associados com o curso em, depois passamos de volta para essa exibição. Não, se eu fizer uma mudança aqui, a expectativa é que o curso seja atualizado quando listado no índice. Então eu vou mudar isso porque nós expandimos nossos programas para saber que temos introdução ao Web design parte um sobre, então nós vamos ter uma parte para. Eu também posso editar esta vista porque eu quero salvar botão para olhar como verde, alguém para voltar aqui. Então eu vou fazer algumas mudanças aqui nesta visão. De qualquer forma, eu quero que o mesmo botão seja verde, muito parecido com a nossa página de criação, então eu vou voltar aqui. Ainda estamos no modo de depuração. Vamos entrar na solução Explorer. Encontre essa vista para que olhemos na pasta de cursos. Nós olhamos para a exibição de edição em, veremos que ele se parece muito semelhante ao nosso índice criar página em. Em seguida, vamos modificar o nosso botão enviar parater sucesso Bt e traço mais uma vez. Então, à medida que você vai junto, você tem outro tribunal gerado, o que é realmente apenas uma diretriz. Mas você será solicitado e influenciado a dar-lhe aqui ou toque individual na mudança. Certos elementos, como você vê, se
encaixam se eu voltar aqui e atualizar e você vê ensinando o ponto de ruptura novamente, eu não quero que ele faça que artistas tirem os pontos de freio que é imprevisto em. Vou só clicar. Continue Andi Lá vemos que nossos pêssegos recarregaram. Temos o nosso botão verde salvar fora do curso são mudanças estavam em. Don está fora de mim. Esta alteração novamente e, em seguida, clique em Salvar em. Lá vamos nós. Então a mudança foi feita em nós sabemos ter introdução toe projeto de trabalho ganhou o mesmo número de créditos em Se eu olhar para os detalhes, a opção de detalhes está fazendo uma coisa muito simples. É encontrar. Qual curso tem o i d. Associá-lo aqui fora do curso, que não é visível, Mas se nós sobre o botão, vamos ver no canto inferior esquerdo que o link está sendo exibido então ele vai para cursos barra detalhes barra um. Então essa barra um é o parâmetro que é passado para a nossa opção nos mentores par. Tudo bem, então se eu olhar para os detalhes para ser específico, vamos ver encontrar detalhes, ver detalhes do resultado da ação. Está ficando permanente. Chama-se Idee. Então, qualquer que seja o i d. é, ele está nascendo para este link aqui e que tal quando ele é clicado, ele vai ser Pasto a ação detalhes no parâmetro i d em. Em seguida, ele é avaliado, certificando-se de que não estamos perdendo tempo porque um banco de dados chamado pensa nisso como caro . Então você quer ter certeza de que você veterinário seus dados, tanto quanto possível antes de um banco de dados chamado é necessário. Então, aqui estamos apenas nos certificando de que se nada vier, então não se preocupe em perder tempo para tentar e procurar por algo que será inválido. Então verificamos que validamos que esta ideia de me
valorizar bem, pode existir neste momento. Ainda não sabemos. Então tentamos encontrá-la. Então verificamos se o encontramos. Se não o fizéssemos, dizemos não telefone, o que é como um quatro ou quatro ligado. Se fizemos, então dizemos Por favor, retorne a vista com os dados associados ao curso. Então vamos tentar isso. E então vemos aqui, esses são nossos detalhes. Você página muito simples sobre. Tudo o que está fazendo é exibir o título em créditos. Então são detalhes. É uma página de visualização. É para fins de visualização. Não é para editar ou criar, então isso seria mais como nossa multidão. Esta é a sua página lida, e podemos optar por voltar para a lista, que vai apenas escrever uma faísca para o mesmo lugar este Woodrow Justo ou podemos escolher ir em frente e editar, que seria o você a atualização em então Não obedecemos a isso de novo. Podemos voltar para a lista. E, a partir daqui, também
podemos excluir. Então, se eu clicar, as pistas serão levadas. Algo de uma página de confirmação, que fez uma coisa semelhante ao Bt é que ele olhou para o curso e trouxe sobre o curso eu correndo os detalhes e, em seguida, ele está perguntando, Você tem certeza que deseja excluir isso em, em seguida, apenas para adicionar à estética fora da página, eu vou apenas ir e encontrar esta exibição excluir em. Então podemos olhar através. Podemos mudar o verbiage como desejamos, podemos dizer, OK, excluir. Tem certeza de que deseja excluir isso? Podemos colocar isso em alerta para que possamos dar uma aula, e eu dou em alerta. Perigo. Certo, então isso é um alerta de classe bootstrap. Perigo. Bootstrap tem excelente documentação. Vou compartilhar isso com você. Então você pode, se você não é assim. Oh, medo. Com classes bootstrap e o que eles fazem, você sempre pode ir para o bootstrap, obter resultado bootstrapped. E eles têm excelente otimização. Onde a fuga de todas as suas classes, Andi, suas funções para você. Então eu fiz essa mudança. Então eu me atualizei para ver minhas mudanças. Certo, isso não é o melhor. Eu acho que estou usando a classe erradamente, mas você pode ver onde as classes bootstrap me ajudando a apenas adicionar um pouco de individualidade para a página, oposição ao que foi gerado automaticamente para mim em que provavelmente quer que o botão seja lido. Então eu estava achando que o botão aqui é um botão. É um botão de submissão. Onda mudou isso para BT Indust Danger. Eu acredito para este. Preciso colocar alertas do que alerta. Então, basta fazer isso Salvar e atualizar em. Lá vamos nós. Então isso parece muito melhor. Vemos que os alertas dão um pouco mais colocando em outro perigoso o quê? Vermelho imediato. Muito bem, então muitas dessas classes de bootstrap que você tem que usar em pilares, mas tome o seu tempo e olhe através dos exemplos, então nosso botão também é lido, então eu excluo É apenas um show em que nosso tribunal trabalha. O que eu vou fazer é também definir um ponto de interrupção em nossos cursos. Então nós já carregamos são get delete porque nós temos os dados, certo, Então nós temos os dados para fins de exibição. Isso é o que este faz. Não, quando eu clico em enviar como em qualquer outra página, ele precisa fazer algo. Então, como eu mencionei antes, cada um tem um get em oposição a ele como eu começar em. Então, opôs-se. Então você entende é o que acontece quando você vai para a página de edição. Mas uma vez que você clicar, enviar O post é o que acontece para que vamos ver em nossa exclusão posou o que acontece? Não, o ponto está definido, Ben. Irei em frente e clique em Excluir em. Em seguida, ele atinge o ponto de freio. Então aqui causa. Nós vemos. Essa ideia é uma. Não é um dedo do pé. Encontre o curso e, em seguida, visual Studio 2017. Adorava que fizéssemos essa coisa da escola em que pulávamos diretamente da nossa linha. Então, vou pular essa fila, certo? Isso significa que a pedreira foi executada. Então, se olharmos dentro do nosso curso, objeto verá que ele tem o curso. Aqueles ar,
os créditos,
e esse é o título. Aqueles ar,
os créditos, os créditos, Então ele vai ver remover da mesa. Quaisquer dados que estejam neste objeto. Tudo bem, então. Uma vez que essa remoção ocorre, precisamos ver se mudanças. Vou pressionar F 5 no final. Tudo
isso, não vai redirecionar para nossa opção de índice, então você verá que este é também um grande padrão que acontece em cada ação. Na ação de edição, vemos onde é aqueles alguma operação. Ele valida que os dados que tem bean colocando desde que a edição é válida em, em
seguida, ele faz algo onde ele toca o fato de que esta entidade foi modificado e parece que as mudanças. É uma maneira agradável e
rápida de fazer sobre ele em. Em seguida, retornamos ao índice se olharmos para nossos criadores de criação renderizando a exibição. Mas, em seguida, ele se opôs onde ele está validando, em seguida, adicionando, salvando a alteração e, em seguida, redirecionando para o índice. Isso é praticamente a gripe de qualquer operação bruta. Você contextualmente direito efeito do dedo do pé. O que quer que tenha mudado para o banco de dados, você sabe , você provavelmente está criando conteúdo, então você tem que fazer o artigo superior. Podemos ser a sua edição Clinton você tem que encontrar É o que é que você é qualquer coisa e em seguida, deixá-lo saber que foi editado e, em seguida, salvar as alterações. E então, neste caso, estamos deletando. Então nós temos que obter o arquivo ou o registro em vez disso que foram deletando,
em seguida, ver se as mudanças e, em seguida, nós sempre voltar para casa para a lista. A lista é o que nos mostra que as mudanças foram feitas, então eu estou indo para o Presidente cinco e pular em frente, então lá estamos nós fomos redirecionados. Índice ligado. Temos uma lista vazia. Não, você pode fazer isso com qualquer outra tabela de dados que você tenha em seu banco de dados. O mesmo procedimento que você acabou de fazer para os cursos obtém para os alunos. E pode ser um pouco diferente para as matrículas, mas eu quero ir em frente e fazer isso para os alunos e criar o aluno a partir de operações usando os métodos e técnicas que você acabou de aprender neste vídeo, você está livre para deixe comentários e deixe-me saber se você tiver alguma dificuldade. Ficarei mais do que feliz em ajudá-lo, Dennis novamente em ter um bom dia.
8. Gerenciando mudanças de banco de banco de baixo: Vocês, rapazes. Da última vez que
paramos, estávamos criando o controle para nossos cursos sobre o uso de todas as críticas de Jerry. Deixei vocês com o desafio de seguir em frente e criar o mesmo controlador e pontos de vista. Ou são estudantes mesa alguém para fazer isso rapidamente, apenas no caso de você provavelmente não saber o que fazer na verdade, como simplesmente realmente é. Então nós direito, clique ou executar para um anúncio Goto estável, um ombro selecionar M V C cinco controlador com vistas usando um trabalho quadro STI. Em seguida, selecionamos nossa classe modelo. Neste caso
, seriam estudantes. Então vemos que a maior parte das informações já está preenchida porque foi o que fizemos da última vez. Então o estúdio visual está acompanhando nossas atividades. Inspire-me e mais fácil. Primeiro, vamos avançar. Desta vez vou usar um controlador de canto. Ações são para mostrar-lhe a ligeira diferença no tribunal. Tudo o resto confere, então eu apenas uma semana no final, fora do exercício de andaimes sobre Novo controle é gerado para os alunos, e vemos que ele parece muito semelhante ao que estamos acostumados a partir de cursos. Controlador. Além disso, se olharmos em nossa tabela de pontos de vista para ver que temos uma nova pasta para estudantes com o mesmo conjunto de uso nossas prisões em cavalos. Agora, se você olhar mais de perto seu controle, você vê que você tem algumas novas palavras de sintaxe,
ou seja, um canto em um trigo. Estas são partes fora do suporte, mas gerados a partir de quando dissemos Use um canto funções em praticamente facilitar tipo de com a nossa manteiga
fria. E isso são muitos os nossos métodos para executar. Ele é sincronismo. Portanto, isso está de acordo com a necessidade de eficiência e múltiplas ameaças contínuas para execução em um único aplicativo. Fora isso, você vê que a maioria do tribunal parece praticamente a mesma se compararmos com nossos cursos . Orifício do controlador. Agora neste vídeo, queremos nos concentrar particularmente cedo em fazer modificações ou bancos de dados que a Semana permitirá. Estamos usando um banco de dados primeiro, citando padrão, que significa que nosso banco de dados teria existido em então nós construímos aplicativo em torno de seus ou nossos bancos de dados constantemente envolvendo como nós carne velhos e abafa o consciente quer para ou aplicação. Agora o desafio com esta abordagem é que, à medida que mudamos nosso banco de dados, temos que atualizar nossos modelos em também opiáceos ou colocar no. Acabei de gerar este segurar todos os nossos pontos de vista e este controlador com base nos campos que estavam presentes em mais de oito dessas tabelas. Então, se eu olhar para os dados vis, eu vou ver que eu tenho três campos ansiedade aço, sobrenome, nome e taxas de inscrição, que significa que tudo o que teria sido gerado teria sido gerado em torno de Aquelas partículas sentem. Então, se eu der uma olhada na minha exibição de controle, verei que tenho um formulário gerado para
sobrenome, nome e escrituras de inscrição. Agora, se eu precisasse colocar os alunos? Middling. Deixei isso fora do banco de dados inicialmente ligado? Não, eu preciso incluí-lo no que eu tenho indo em alguém para entrar em exibições no meu SQL Server Object Explorer. Eu realmente não em minha instância de banco de dados em definido por banco de dados, gerenciamento
escolar, tabela de
TV e fazer uma modificação para a minha tabela de estudante. Então eu com razão e, em seguida, clique no designer. Em seguida, prosseguirei para adicionar a coluna do nome do meio a esta tabela. Então eu vim aqui no nome do meio que eu queria ser um em parte shar 50 assim como os outros nomes e as ações nítricas para cometer essa mudança. Uma vez que
seja, está feito. Eu sei que preciso Toe, embora meu modelo de banco de dados esteja ciente do fato de que há uma nova coluna nesta tabela ou nessa classe em particular. Então, se eu levar meu E DMX, eu vou ver que os alunos atuais não têm um problema de nome do meio. Então eu clique com o botão direito do mouse no espaço vazio no meu modelo Click Up Deeds de Data Bees Thistle. Então me dê um feiticeiro. Eu posso ir para atualizar tabelas de clique em, em
seguida, clique em Concluir No final desse processo, vemos que temos nome do meio adicionado aqui como uma coluna. Agora que me deixa dedo do pé tem que atualizar todos os comuns dois pontos de vista toe saber que há um nome do
meio que precisa ser qualquer coisa ou adicionado em nossa criação que é turno de controle e B e certifique-se de que tudo contas com sucesso após uma compilação bem-sucedida. Então eu vou seguir em frente definido meus pontos de vista que precisam ser editados assim godowns por estes titular olhar para os alunos e, em seguida, primeiro é o nosso criativo você. Então eu preciso praticamente replicar a estrutura que eu tenho aqui. Pobre sobrenome e primeiro nome no sistema da Itália. Considerando que eles são todos pássaros semelhantes ambos os tipos e as construções, Eu posso apenas copiar e colar este bloco fora Cool Onda modificado para que nós sabemos que você quer meio Então isso está gerando um rótulo para o primeiro nome. . Eu só mudei isso muito pouco e você pode ver que a inteligência está captando que há de fato e, de fato, uma coluna no modelo causou pouco eu disse, basta entrar então eu vou fazer isso ou ir para On também a alegação, Sra. Eu também precisará fazer isso para a minha página de edição como nesta cópia Esta vez durante essa
página de edição parece muito semelhante ou criar Página e eu iria apenas criar algum espaço aqui em é o mesmo buraco em mais uma vez o nosso modelo em nosso qualquer página Seus alunos no DSO ele sabe fora da nova causa de
propriedade feita em passo adicional para que possamos irmãos para esta
página de índice recém-criado é modificar nosso Leal no coronavírus adicionado. Artístico em cursos para D natural você ouve essa fala? E então eu vou dizer alunos em. Além disso, vamos mudar o nome do controlador para estudantes. Podemos dizer isso e depois ir em frente e as pessoas, uma vez que nossa janela for lançada, você verá que temos o comprimento do pé que nossos alunos pagaram, então podemos clicar nisso e ser navegados para nossa lista fora de alunos. Sabemos que não adicionamos nada ao banco de dados. E também você vê que mesmo que nós adicionamos nome do meio para o modelo, não
há nenhuma coluna nome do meio em vez de aqui. Nós fizemos, no entanto modificado, criado. Então temos o nome do meio aqui, idade
do Alec Tree. Se eu ir em frente e cria em, em
seguida, olhar fazer notas que data de inscrição I baixa-nos o tipo em nosso texto livre. Então, se você se lembra, eu estava dizendo que há certas situações em que você pode querer adicionar controles personalizados. Toe nossa caixa de texto no Dia 84 tem algumas limitações, por isso queria provavelmente alterado tipo de dados associado a esta entrada de texto no conjunto. São algumas vezes para que possamos pelo menos obter o selecionador de tempo ou encontrar uma preocupação nerd ou
scripts Java cortar no controle para colocar aqui. Podemos fazer isso que as ações principais pé para Não, Eu vou apenas colocar um portão genérico e, em seguida, clique cria. Agora, se dermos uma olhada nisso, você vê aquilo ou quase período. Esse relatório está aqui mais uma vez no índice não estavam exibindo o nome do meio. No entanto, se clicarmos em edições, veremos que temos uma pequena anomalia com o nosso programa, não
fizemos o suficiente para garantir que o nome do meio seria preenchido após a criação. Como resultado, no entanto, adicionamos a caixa de texto ao formulário de edição. Não há pouco novo exibi-lo porque não havia o nome do meio comprometido com a data deste quando clicamos em três s. Então ainda temos um pouco de trabalho a fazer. Agora, voltando à nossa corte, você pode sair do mal mais por um segundo e ver que trabalho adicional precisa ser feito para garantir que nossa função de criação funcione. Se dermos uma olhada nos dados, também
veremos tão diretamente para a tabela, Eu acho que você dados sobre. Vemos que o nome do meio foi de fato e, de fato, enviar através como um baixo. Isso porque no momento da criação, mesmo que nós colocamos os livros didáticos e controles lá ou o nome do meio, nós não dissemos ao controlador que ele deveria, de fato, e de fato, para um nome do meio quando ele está recebendo mais tarde de nosso vista. Então, se dermos uma olhada no nosso controlador realmente rapidamente em vamos para o cria curso poção vai ver que temos algo aqui que diz encontrar incluir em nós temos alguns parâmetros. Fazer estudantes Lords I d sobrenome nome datas de inscrição no nome do meio DNO. Agora o que está acontecendo neste incluem iguais seguido por esta cadeia fora campos vindo do nosso modelo de estudante é que estamos procurando propriedades específicas desta classe que devem ser incluídos quando nós pilha casa ou objetos para ver se mudanças Então eles Encontre-me a modificação aqui que devemos tomar um assento inteiramente. Sobrenome, primeiro nome inscrição-lo no topo no meio Ele nesta parte é maiúsculas de minúsculas Zoff,
por favor, certifique-se de brilhante da mesma forma que a propriedade aparece na classe Andi para as edições. Nós também podemos ir em frente e incluir pouco veio em ir para o modo de depuração e atender para adicionar outros alunos. Então não devemos mais ter esse problema. Então vamos uma estrata. Não há realmente modem com tentativas de adicionar outro. Então eu clico cria e, em seguida, temos um segundo registro de estudante. Agora, se eu olhar para o final, é então você verá nosso valor voltando,
ao contrário do nosso 1º 1, onde não havia valor comprometido com o banco de dados. Agora, se olharmos para a idade dos detalhes para ver tudo fora do que precisamos dizer sobre os alunos, detalhes realmente e verdadeiramente devem listar cada coisa sobre os alunos aqui. Notas. Não há Oriente Médio, então ainda temos um pouco de trabalho a fazer para obter nome do meio para aparecer em nosso G sente idade. Então, eu apenas repassar rapidamente os detalhes e ainda estamos no modo de depuração. Encontre a exibição de detalhes em. Podemos ver aqui que detalhes Página parece um pouco diferente das outras páginas. É predominantemente usando a função auxiliar HTML para exibir o nome de exibição quatro e exibir para Então, podemos apenas oito. Este Andi replicou este tipo de lógica em inserções no meio. Então eu só colocar um pequeno nome no nome do meio ver em e refrescar a nossa paz em. Lá vamos nós. Sobrenome primeiro nome em nossas novas adições do nome do meio da família. Além disso, temos necessidades de inscrição. Eles são coisas que você pode fazer é tecnicamente para tornar RD É mais atraente agora, possivelmente maneira mais fácil de ter acomodado todas essas alterações em nosso banco de dados em nosso controlador
subseqüente e ver frio teria sido toe regenera ou controlador e base nas mudanças em nosso modelo. O perigo para isso, no entanto, é que quaisquer mudanças que você teria feito em descartado em substituído pelo
tribunal generi . Portanto, tenha muito cuidado quando você estiver indo para fazer alterações em seu banco de sabendo que você provavelmente deseja fazê-lo manualmente. Então mantenha o núcleo que prosseguiu. Esta mudança de qualquer maneira, obrigado por sintonizar. Espero que tenha encontrado valor para isso. Ouça. Vejo você na próxima vez
9. Personalizando uma visão - Bootstrap 3: vocês neste tutorial estará olhando para casa com visões gerais globais de personalização e nossas aplicações. Estética trinkl Mais como ou aplicação em oposição à aplicação gerada altar. Bento tempero v ponto net. Podemos redesenhar a nossa página de aterrissagem a ver na tela aqui em nós também vamos os barcos que Bootstrap tem a oferecer para agilizar este processo. Antes de seguir em frente, preciso lembrá-los que estamos usando bootstrap 3 D Falls. Bootstrap que veio com nosso projeto é bootstrap três. Podemos atualizar para quatro. Mas se fizermos isso e corremos o risco de ter que refazer um monte fora do trabalho, então eu recomendo que continuemos usando seria tira ou bootstrap documentação, podemos ir para o seu site, que é obter uma boa alça. Ou você pode apenas olhar para bootstrap, três sobre quem foi sugerido, e aqui será dado toda a documentação por trás de todo o bom ism que
superaram oferta. Você não tem que começar do zero, mas eu vou apenas levá-lo através de um dedo de passeio rápido. Aprecie ou Wilshire traz para a mesa. Agora ambos tira é quadro CSS. Em poucas palavras, os desenvolvedores observaram com padrões de desenvolvimento. Ao longo dos anos, Andi surgiu com um monte de classes ou estrelas Chiesa que eles acham que as pessoas
precisam mais , que eles tinham uma agenda móvel primeiro. Então, usando bootstrap ajuda a realizar um celular primeiro em design limpo, como eles teriam feito backup com estilo CSS comumente usado em eu mantenho um dizendo isso, mas deixe-me, por exemplo, as tabelas de cortes. As pessoas sempre mesas longas. As pessoas sempre querem que suas mesas não se pareçam com mesas. Will Bootstrap nos deu uma mesa. Tudo o que temos que fazer ao criar e tabelas dar a classe iwas tabela para o nosso cabo de mesa em. Então começa a parecer algo assim. E se lembrarmos que para que nossos alunos em mais de cursos, tabelas olhar ambos fora da caixa, você também pode adicionar propriedades de força. Você pode fazer fronteira. Mas o fato é que o bootstrap está tornando isso muito fácil, porque você não, afinal, veja ajudar a realizar todos esses ladrões nas aulas. Isso dê uma olhada nos botões. Da última vez que olhamos para mudar botões inteiros olhar, então vimos que um skims TTN e, em seguida, e t e traço algo. Então você tem et e traço dedica a obter essas pessoas olhando botão Bijan Dash Primary para obter um azul um sucesso para qualquer botão verde em tudo. Então está tudo claramente delineado aqui no site deles. Eles dão-lhe o exemplo em, eles dão-lhe o núcleo para este exemplo em. Você só precisa traduzir isso em sua necessidade e sua especificação para que você possa ir em frente e começar a usá-lo. Eles suportam imagens responsivas porque eu sou G traço responsivo. Isso significa que sua imagem começará a ser redimensionada em movimentos de acordo com o tamanho da tela. Tudo bem, então você pode, Pero quem é? Eu não recomendo que você tente colocar tudo na memória porque pode ser esmagador. Mas como você tem uma necessidade, se você quer algo para se livrar do nosso azul ou algo assim, você pode vir aqui. Você pode percorrer a categoria CSS, ou você pode ir para a categoria de componentes, que tem ainda mais coisas. Você tem espaço para dores. Você tem seu alerta de perigo versus seu alerta de sucesso. Você tem rótulos que podem adicionar texto na seção de script de trabalho. Você tem coisas para mais detalhes. Se você quer pop Hope que parece atraente. Você tem guias se você quiser uma experiência banheira em seu navegador e eles lhe dão o JavaScript . E se você se lembra de parte dos scripts que teriam sido dados a você, o projeto inclui um bootstrap Js. Então você não tem nenhum trabalho adicional a fazer a não ser incorporar este tribunal com o seu? Andi, utilize-o para seu benefício. Então aconselhá-lo a olhar através, Veja o que você precisa em usar este sob. Então, para esta seção, nós estamos indo toe realmente re estilo nosso campo de pouso estavam indo dedo do pé. Na verdade, adicionar algumas imagens em um controle deslizante bootstrap dedo da nossa página inicial seção aqui. Então nós vamos ondular toda esta seção Grécia e, em seguida, vamos substituí-lo por um controle deslizante bootstrap. Eu fui em frente em Bond sobre algumas fotos de Fix a Beta. Venha. Esse é o meu ir para o site de graça, fotos de
alta qualidade no mergulho selecionado três fotos que eu quero usar e foi usado
este de volta à escola. Este nunca parou de queimar neste. Então ele fala de um você só precisa ir lá. Clique em Libertado no Senhor Senhor em então ele irá pedir-lhe para se inscrever. Eu sou muito justo que você esteja louco. Robôs em Uma vez que você clicar para baixo, Senhor, ele vai iniciar o Donald para você. Alguém que vá em frente e faça isso para saber. Tendo feito isso, preciso colocá-los todos no projeto. Eu teria baixado eles para a minha área de trabalho no Não, eu preciso levá-los para o meu projeto Para continuar usando seu site, eu recomendo que você crie uma pasta em você, coloque todas as suas imagens na residência dobra que eles dão para a estrutura para todos os tipos de casa. Uma vez de arquivo que eles podem não sair do jacaré para suas imagens, então eu vou apenas ir em frente no conteúdo. Acho que o conteúdo é o melhor lugar para colocar imagens baseadas no que está lá no mesmo continente. Adicionar em sua pasta, chamá-lo de imagens e então eu posso clicar com o botão direito em imagens. Por favor, Deus vá para o item existente. Então, se o item existir, que
significa que você não vai usar o Visual Studio para criar o item. Mas é algo que já está tudo lá, como neste caso, um arquivo de imagem, e você quer trazê-lo para o seu projeto e você clica em item existente e, em seguida, você encontrá-lo em seu PC. Então eu coloquei o meu no meu melhor disco, então percorra e encontre minha imagem e formei uma aqui. Dane-se os fãs Elder para e eu mudei de idéia foi um fora das imagens em sua adicionado ao meu projeto. Você pode dizer o sinal de mais que eles não estão sendo incorporados ao projeto. Em quando você sobre cada um, você verá muitos visualizam o que esta imagem é prática recomendada ou para facilitar o uso. Você não usaria este longo alter Jerry para nomear Cool do site. Agora você quer que sua imagem seja fácil de usar, então você deseja renomeá-la algo que seja mais apropriado para o propósito que você tem . Então eu queria para trenós assim chamado Este é como Dash One na extensão é que J. P. G em nunca renomeado Builder para em conformidade e não, nós temos todas as três imagens que precisamos ou ou barra yl. Então, como eu disse antes, o objetivo não é mudar o dedo do pé que a área cinza que deveria ter sido representada por este Jumbotron dar sobre nós queremos colocar em um controle deslizante bootstrap nessa seção. Podemos ir ao site da bala para ver a documentação sobre ficar ruim, e essa é a esperança de fazermos isso. Então, qual é a seção JavaScript? E procure por auto carro. Isso é besteira, porque é um carro, então eles te dão um exemplo. Primeiro, segundos de
slide levam seu slide como você pode ver os trabalhos de clique. E, em seguida, como você rolar para baixo, você vê que dar-lhe uma montanha fora da quadra que é necessário dedo do pé tem algo parecido isso. O que eles não te deram são as imagens que Mas você só precisa olhar para isso, apreciado e depois modificado propósito de quatro anos. Alguém acabou de copiar toda esta seção fora do curso. Volte ao nosso projeto, cole-o aqui. Então pode parecer um pouco esmagador, mas se você tomar um tempo para apreciá-lo, se você sabe HTML, você vê exatamente o que está acontecendo aqui. Mas antes de mais nada, vamos dar uma prévia do que é o resultado. Então esta é uma prévia do que temos. A presunção Z é muito menos atraente, e o que tínhamos antes e ainda temos um pouco de trabalho para fazer o que podemos ver o caminho dos nossos erros e realmente clicar no IRS. Na verdade, inimigo, é algo que é visível. Então vamos em frente e voltar para o estúdio visual na DSI. Que mudanças adicionais precisam acontecer comigo? Carcelle está apresentável? Então, de volta ao estúdio visual, olhando para o tribunal, você verá um colapso para cada filho sexual que deve produzir uma imagem. Tudo bem, então primeiro, você vê que você tem essa lista ordenada que tem aliados nela tem alguma ação inteira Gibbs em. Então você vê que ele tem pó de dados como 2123 Este é totalmente ativo. Portanto, zero será sempre o padrão. Mas, em seguida, para os slides reais, você vê que cada slide aparece em seu próprio dar que é o item número um no desejo de número dois em. Sabemos que temos três itens, então só precisamos construir o dedo em todo esse cordão de amostra de acordo com o que precisamos. E então aqui você não vê isso? Uma seção de pessoas para os controles que herdam de um rebocador usando algumas aulas de touros aqui para se parecer com Pareles neste ar nosso. Eu vou para o lado para o próximo e anterior. Então a primeira coisa que vou fazer é modificar o tribunal para o nosso primeiro Slatter. Então a imagem que eu fui definir a fonte, mudá-la de Elipsis e eu tinha este espaço de controle para obter essa insinuação de inteligência. Lembro-me da minha pasta de imagens dentro do conteúdo em, em seguida, minhas imagens dentro da pasta de imagens em Eu vou dizer slide um antes do texto alternativo nossas portas Ouvimos para a legenda Eu posso usar um puxador girado Veja, nós planejamos para a segunda seção Vou fazer uma modificação muito semelhante. Então jeans SRC deslizar para na mudança que nunca parar Mark Um, apenas colocando em algumas legendas aleatórias e textos alternativos que você iria preencher anos mais apropriadamente quando você tem sua chance de fazê-lo em seguida, temos três controles deslizantes, alguns desmontado, duplicar este. Mova isto. Ele existe na mudança Este slide três, Eu vou voltar e mudar essas duas legendas mais apropriadas e texto alternativo. O que? Eu só quero mostrar a vocês para onde vocês vão colocando um controle deslizante de bootstrap em Nós não temos que modificar muito mais. Então podemos visualizar isso. Aqui vamos nós. Então agora temos um controle deslizante no espaço onde tínhamos esse texto gerado. Algumas coisas que podemos observar seriam as diferentes alturas ou cada imagem de modo que faz com que o Carcel empurre e puxe o conteúdo da página. Então você gostaria de estar atento a isso Para garantir que suas imagens estão fora das mesmas dimensões e alma, seu conteúdo ficará bastante consistente com cada controle deslizante. Então isso é uma prévia fora de todo. Você vai barco incorporando componente bootstrap em seu site. Você faz isso à vontade. Em como você precisa dedo do pé, você não pode usar um carrossel que depende de você. O que? Você tem algumas opções disponíveis para você pode uma ferramenta dicas que você pode anexar drop downs em tudo isso, sai da caixa com velocidade bootstrap Andi, e ele sai da caixa com bootstrap. Então, a menos que você esteja indo para encontrar outro framework que você pode preferir como você tem alguns
lá fora , você pode investir algum tempo em experimentar com bootstrap e ver o que ele tem para oferecer. Nenhuma outra coisa que queremos realizar é modificar esta seção. Teoh tem apenas duas opções, uma para cursos e outra para estudantes. Então, como podemos ver onde três colunas em def, olhamos em nosso código, veremos que estamos usando quem tinha amarrado para dividir. Todos eram papel, então as botas triplicam. Você constrói chamado um cigarro papel ou mesa sobre? Como você sabe, cada tabela tem colunas, então Full Strap tem um ótimo sistema que uma vez que você tem uma função, você pode dividi-lo em até 12 colunas em. Além disso, você pode especificar colunas Khomeni devem estar presentes ou grandes. Uma coluna deve ser baseada no tamanho fora. As telas de tela típica em qualquer laptop ou computador estaria na razão vazia. Então eles estão te dando três colunas. Uma cirurgia numa pistola. Um dois em três. Não, só
queremos. Então eu vou remover o 3º 1 Eu quero modificar este, tendo em mente que nós temos até 12 colunas que podemos usar alguém para mudar este 1 para 6 . Uma lista de seis em Mais uma vez, Eu sei que eu posso fazer isso porque já foi delineado nas documentações. Eles sempre podem ir para a documentação e ler sobre o sistema de grade para ter uma melhor compreensão sobre o que está acontecendo aqui. E então eu vou para barcos mudando o título ou a legenda que está sendo usada aqui. Então, coloque os cavalos e faça isso. Eu também vou mudar este parceiro. Eu realmente não preciso ser publicidade. É feito no meu site de assistente de administração da escola, então vou colocar um bom parágrafo. Então eu não preciso estar ligando dedo em uma viagem se todo o caminho fora do meu alcance, alguém para mudar este dedo do pé, um botão que está disposto a meus cursos Então eu posso usar meu link de ação em algum lugar que meu sinal e chamar meu ajudante Isham off para os meus links de ação em. Então eu quero imprimir é preciso aprender a guerra. Eu quero que este link de ação para ir para os Knicks sobre este índice seria no meu curso está se desdobrando. E depois vou repetir isso para os alunos. Seis. Tudo bem, então eu os ajustes acrescentou aos alunos legenda um parágrafo para essa seção. Andi, na verdade. Então podemos ir em frente na pré-visualização. Isto para que nós vemos aqui que são mudanças foram postas em efeito e nós podemos ver que nós nem
sequer dividimos entre os tubos. Lembre-se de dizer que somos 12 12 espaços do pé vem que somos capazes de usar Andi. Eu disse que queria que qualquer um fosse seis dos 12. Então temos forças levando até seis quando temos alunos tomando para sentar. Então essa é uma maneira agradável e
fácil de colocar as coisas lado a lado. No movimento tradicional da edição, você tem que usar ao vivo, e então você flutua para a esquerda e então você transita margens no meio para ter certeza de que eles estão, você sabe, uma certa distância um do outro iria cintar. Isto dá-lhe um grande sistema e este Hey, colocá-los lado a lado. Apenas me diga como você quer que eles tipo de 100 prisões. Andi, essa altura de enterrar para as fotos meio irritante. Então eu não vou consertar isso na minha TV para você modificar e encontrar imagens que são consistentes. Não. Outra coisa que queremos fazer é recuperar os nossos botões. Nós temos links, mas queremos que eles se pareçam com os botões que eram os originais. Então eu vou apenas provar projeto sobre nós vamos adicionar classes Lose Wilshire agora a partir dos exemplos
anteriores, você lembra que nós inicializamos um objeto Eric virgem em objetos distantes. Nós especificamos que queremos classe de atributo em. Então tivemos nossos valores, então nossos valores seriam uma faixa esquecível. Documentação bt n em Bt e traço qualquer classe que você quiser. Eu quero um grupo em alguém para dizer primário sobre a mesma coisa para parar isso ou os alunos. O que? Vou conhecer este. Seja um navio mais leve para apenas para que tenhamos uma diversidade para que possamos atualizar e ver como isso se
parece em Lá vamos nós. Então vemos que esse círculo horrível funciona. Temos ordem e mais olhando como um botão em nossos alunos olhando como, mas também Andi, você sabe que ambos eram etiquetas âncora. Então bootstrap Milos u dois estilo uma etiqueta típica no tornozelo em mim. Parecia um botão. Então vá em frente e experimente com bootstrap. Experimente fazer seu site parecer mais limpo do que o meu. Será que o lançamento Onda adicionando estilos, removendo assim o tribunal padrão e reunião é mais personalizado
10. Personalizando uma visão - dados adicionais: Ei caras. Então, neste centro sobre a adição de nossas inscrições na página de detalhes de nossos alunos não na inscrição em menos chamada em nosso banco de dados compreende um aluno que eu d em. Claro que eu d Isso serve o comprimento de um aluno dedo do pé um curso o que significa que você tem muitos alunos sendo ligados a muitos cursos. O objetivo por trás disso é garantir que quando clicarmos na página de detalhes de um aluno , veremos que este aluno está atualmente ativamente matriculado em cursos X y Z. Não, como uma breve recapitulação, sabemos que fizemos o nosso exercício de andaimes para os nossos alunos e para que possamos criar
um novo na sua visão. Detalhes e excluir. Não, Se eu clicar no botão de detalhes, ele irá acionar uma chamada para a nossa ação em nossos alunos Controller A centro pontos de quebra e eu estou atualmente em de barco ancorado Onda. Nós só queremos dar uma olhada no objeto que volta quando clicamos em detalhes. Então vamos buscar um aluno sobre a idéia que foi aprovada em 2000 e dois Onda. Podemos ver que um foi buscado porque não voltamos em todos os objetos. Agora, quando olharmos para este objeto vai ver que temos primeiro nome, sobrenome, nome do meio em. Nós também temos que matrículas. Portanto, este aluno está atualmente associado a dois cursos em nossa tabela de matrículas. E quando você sair rapidamente, depurar mais, analisamos nosso banco de dados para validar isso claro. Então, no meu objeto Explorer, eu vou apenas clicar com o botão direito do mouse cavalo e olhar para o teatro aqui. Temos três pratos. Introdução para ver Sharp. É um homem em cálculo de matrícula. Podemos ver que temos alunos com o I D 2000 e dois e rolar os dois cursos com ideias dois e três. Não vou guardar essas duas recordações. Onda, obviamente mostrar isso ao ser humano realmente não funciona. Então agora vamos ver como Entity Framework torna mais fácil para nós. A ligação de dados em dados de exibição que não está diretamente em nossa tabela dentro de nossa visão. Então aqui temos ou vista de detalhes para o aluno, e eu vou apenas adicionar algumas informações para a sua compreensão para ver os detalhes do aluno sobre. Deixo tudo o resto, como está por baixo deste último rebocador de ligação dinâmica, vou começar a preencher com algum cordão que vai gerar uma tabela
mostrando todas as matrículas para estes alunos. Agora, esta tabela vai parecer bastante semelhante. Um dedo do pé que estamos acostumados a partir do nosso discurso de índice. Se você se lembra que nosso discurso de índice tem uma tabela, ele tem um rolo superior com alguns cabeçalhos, e então ele tem um pedaço fora. Isso está gerando Rose em colunas com base nos dados que voltam dentro desse modelo. Agora temos um modelo a ser passado para o nosso discurso de detalhes. Mas ao contrário, ou página de índice, não
é uma coleção. Ele, entanto, tem uma propriedade de coleção nele na forma de inscrições, que é o que acabamos de ver em de barco ancorado em nosso controlador de alunos. Então nós estamos indo para ir barcos criando uma tabela que irá fornecer rosa em colunas com base nos dados voltando de mais de coleta de inscrições. A primeira coisa que precisamos é da nossa mesa. Uma vez que estamos usando bootstrap, podemos rapidamente fazer esta tabela parecer atraente, apenas adicionando algumas classes de tabela. Então eu vejo mesa. E então eu queria ser convencido, bem como responsivo. Em seguida, geramos nossa regra de maioria superior, que terá nossos cabeçalhos de tabela. Então, para os cabeçalhos da tabela, eu quero o título do curso em Entende controle D e duplicar estes. Andi, eu gostaria dos créditos. Não tenho certeza se preciso remover isso a seguir. Queremos utilizar mais, reservá-lo e começar a gerar regras dinamicamente. De acordo com Toa, o que volta em nossa propriedade de matrículas. Então eu vou usar o meu sinal de sinal e escrever a palavra para cada aberto que abrir. Queremos fogo, algo que eu possa chamar de matrícula. E então temos uma palavra-chave em C afiado chamado modelo. Não, esta palavra-chave incorpora quaisquer dados que voltem dentro deste modelo começa com um maiúsculo M alguém para escrever capital e modelo ponto sobre. Vamos ver nossas inscrições,
que, que, se olharmos para o tipo de dados cuidadosamente, vemos que é um tempo de coleta. Então, para cada um desses, eu vou gerar uma regra. Então, nesta regra, eu quero duas colunas. Andi, entendo duplicar isso dentro desta coluna. Eu sempre digo que eu não gosto de imprimir texto sem uma etiqueta. Então eu estava colocando o que quer que vá para esta coluna dentro de um Peter ligado. Então eu posso apenas referenciar diretamente a inscrição usando minha inscrição no sinal, que não é meu objeto fora do tipo de inscrição. Assim, no objeto de inscrição irá fornecer o curso. A matrícula da sociedade principal os alunos do fundamental , então vou dizer curso. Como eu quero o título do curso, eu tenho que obtê-lo do objeto do curso. Então eu entro em um objeto de curso e uso minha filha operador mais uma vez em. Então poderei obter o título. Farei o mesmo para o próximo, e adicionarei inscrições. Isso é cavalo, não críticos no final deste exercício, o que teremos é uma tabela sendo gerada com todos esses atributos com duas colunas 14 título do curso, um para créditos. Andi, todos os dados relacionados para legibilidade humana para que possamos ir em frente e entrar no modo de depuração e ver ou trabalhar nenhum RPG carrega. Podemos ver claramente os frutos do nosso trabalho que eles têm ou mesa com nossos cabeçalhos. Temos dados legíveis humanos sendo exibidos. Então, em vez de exibir apenas o ID está em vez de eu ter que ir e escrever em suas articulações para obter estrutura de entidade de dados real tornou bastante fácil para nós apenas chamar sobre os dados sob demanda. Agora eu deixei de fora uma coluna porque o aluno sabe no que está matriculado, mas eles não sabem seus grandes nomes. Então eu só vou voltar para o Visual Studio em Modificar. Oh, nossa visão sobre eu vou adicionar uma coluna para as notas. Então eu duplicado créditos e entender a dizer, cria ou verde. E então eu vou adicionar outra coluna dentro desta regra, que tem sido toe ter os dados correspondentes de ganância. Agora a ganância está dentro do modelo de inscrição. Assim que eu ver matrículas, terei a nota da propriedade. Então eu não preciso ir para o estudante ou ir para o curso. Eu não posso escapar de Great ali mesmo das matrículas. Vou dizer que esta atualização está ligada. Vamos ver ou mudar e lá vamos nós. Então, esses alunos são frescos. Eles ainda não tiraram nenhuma nota, mas eles vêem que cursos eles estão fazendo em qualquer um se move tropeça em seu perfil. Também vai ver quais cursos eles estão fazendo. Portanto, esta é uma maneira muito rápida de obter dados adicionais em sua exibição. Espero que entenda o conceito. A Andi. Depois de ter um relacionamento, você pode chamar a coleta de dados relacionados ou ligar diretamente sob dados relacionados que você
possa ir em frente e outras coisas, manter a situação de inscrição e começar a criar inscrições onde você associa com cursos sobre Did. Você pode visualizar os detalhes da inscrição com os detalhes do curso, bem como os
detalhes do aluno . Isso é assistir, e eu espero que você tenha uma boa.
11. Adicionar de Validades de dados às formas: Ei, pessoal, bem-vindos a outro vídeo emocionante em nossa jornada com s p dot net NBC desenvolvimento Web. Hoje vamos analisar a adição de validações aos nossos formulários. Agora, validações são muito importantes porque quando estamos aceitando entrada do usuário tentando iniciar em nosso banco de dados, queremos garantir que o que quer que estamos passando com o banco de dados cumpra certas regras. No mínimo, uma regra pode ser como,
você sabe, você espera um valor de texto para um campo de texto ou esperamos um valor de número para um campo de número ou seu corpo de texto deve estar em um determinado comprimento esses tipos de coisas. Essas são validações que queremos garantir que fazemos do lado do cliente, o significa que não queremos que ele tente acertar o banco de dados com dados inválidos antes de sabermos se esses dados são admissíveis, não
são assim. Queremos adicionar certas regras aos nossos formulários, modo que, antes que o usuário possa realmente enviar essas informações, possamos garantir que tudo corresponda a um determinado padrão. Agora, para manter as coisas fora, vamos dar uma olhada em nossa ação de criação no controlador de cursos, como você pode ver, hum, já no modo de depuração. Mas queremos dar uma olhada no que acontece quando enviamos dados. Então nós temos nossa ação de criação que torna nossa forma para cavalos livres. Compreender? Para trazer isso para cima, rapidamente, clique em cursos em. Então nós poderíamos criar novo, que então torna o nosso criativo você em. Então perguntamos, o usuário observa o título deste curso sobre quantos créditos não deve ser. Este é um número, mas eu não deveria ser capaz de colocar em texto. Esses tipos de coisas importam quando você deseja validar a informação de volta. Se você der uma olhada no que acontece no post, você vê que ele verifica se o estado do modelo é valorizado, que significa que ele está avaliando todas as informações que ele apenas pensou do usuário e vendo esta informação é válida? O que vamos fazer neste vídeo é configurar nossas próprias validações para que isso avalie
automaticamente nossas regras e tome uma decisão baseada nisso. Mas antes de
fazermos isso, vamos dar uma olhada na base de dados e vamos dar uma olhada no que acontece quando tentamos enviar informações Se dermos uma olhada na tabela do curso, que já tem aqui, Olhe para o designer. Veremos que ambos os títulos em colunas de créditos são projetados para um baixo sem valores, que, justo, provavelmente não
é a melhor coisa a fazer, porque então ele me permite criar um curso sem título e sem créditos, o que realmente não me faz sentir. Chega ao meu ponto de ruptura agora, apenas continue. Andi vai em frente e ele realmente cria aquele disco vazio com um Novalee para o título Onda. Ninguém para Crates. A Andi. Não há nada lá, o que é algo que realmente não queremos que um usuário seja capaz de fazer. Então, o primeiro passo seria mudar as regras de validação são alteradas regras de tipo de dados ou banco de dados para que possamos voltar para o estúdio visual, trazer acima designer para o nosso banco de dados de curso, e dizemos que queremos não sozinhos sabe então nós não pode levar isso sozinho, sabe sobre. Então podemos clicar fora dele. Então dizemos fora do banco de dados. Isso vai nos dar um erro como você vê aqui em baixo, porque então estamos sentados ou banco de dados não aceitou, sabe enquanto temos valores que existem. Então eu vou apenas remover que nenhum registro. Andi, já que eu tenho micro operação, eu só faço isso aqui já que meu tribunal funciona. Então apague isso. Sem registro. Coma mais uma vez, chegamos a um ponto. Eu só vou continuar lá. Ele é removido para que saibamos que podemos tentar salvar novamente. Então eu clique um pouco na atualização novamente em, então ele é bem sucedido. Desta vez. Nenhum Little Strand tinha um curso sem título e sem créditos mais uma vez. Então vamos deixar estes em branco porque queremos testar. Se alterar o não sentar sobre as regras que regem nossos tipos de dados em nosso banco de dados será eficaz o suficiente para iniciar validações aqui. Então, quando clicamos em criar, vemos que ele realmente bate em erro. Se acerta em exceções em que algo aconteceu ao tentar executar isso. E se olharmos para baixo e lermos os detalhes, ele diz que não podemos inserir no valor do amor no tipo de coluna. Então vemos que algum valor fora da validação está realmente oferecendo aqui. Mas isso provavelmente não é o melhor, porque você não quer que seu dedo do pé aplicativo realmente pausar assim quando o usuário está usando, ou dar essas mãos off erros que me usando não necessariamente entender. Tão eficaz. Continuar. Então você vê que a página precede o Senhor. Um erro de aparência muito desagradável que o usuário típico pode não necessariamente saber como processar e eu não quero ver em tudo. Então vamos ter que modificar esse comportamento um pouco, então eu vou sair rapidamente
, voltar mais. Então vamos começar a trabalhar. Não, fim de realmente adicionar essas regras de validação, temos que usar algumas classes C afiadas e algumas implementações do tipo Opie têm muito fluidas, Andi. Solução um pouco desarticulada, mas unificada. E isso soa como um paradoxo. Mas enquanto eu passar por isso, você aprecia o que estou dizendo. Então a primeira coisa que queremos fazer é rebocar dar uma olhada no nosso modelo. Então dissemos que queremos começar a adicionar validações aos nossos cursos. Então, estamos sozinhos em nossos modelos Boulder em nosso diagrama misto de mídia em. Em seguida, nós empolgamos em nosso modelo o TT on Olhe para a nossa classe de curso. Precisamos apreciar o que está aqui. on Lembre-se que cada campo que é contorno aqui é sinônimo do que está no banco de dados. Então o pai que vemos aqui esse crédito ainda é um valor incognoscível. Ele é que criamos, ou mais tarde, beisebol. Nós não abertamente que nossos modelos. Então esse é o primeiro passo que você precisa tomar algumas pessoas rasgou Edie um Bagram misturado em. Em seguida, clicamos com o botão direito do mouse no espaço aberto e clicamos. Espero que a partir de agulha este povo para atualizar as tabelas e clique em Concluir este, em
seguida, recargas são tabelas e desde a última vez que estivemos aqui, Eu adicionei nome do meio e data de nascimento para o nosso clube estudantil. Agora, você se lembra que cada vez que atualizamos ou fazemos uma alteração de qualquer tipo de nosso diagrama que
precisamos construir para que você possa ir para construir,
clicar na solução ou manter a mudança de controle e estar em que realmente afetará uma compilação operações e vai fazer essa mudança de controle e estar no meu já está construído. Então, quando vamos para o nosso curso que o arquivo CS, vamos ver que ele é atualizado para mostrar que ele não é mais um valor notável. Tem que ter um int. Os testes Andi têm uma corda no teste não foram feridos. Você está aqui para ver que essa alteração foi feita com sucesso. Então isso é um passo um fora para validação. Garantir que a nossa base de dados reflita as nossas ambições. segundo passo para a nossa validação é criar o que chamamos de método de dados Classes são acusados precisa amis que você sente que você chama de meta dados, que é praticamente dados sobre dados. Então, neste caso, temos mais tarde no formulário fora do nosso modelo. Nossa classe são nossas tabelas de banco de dados sobre os dados, um barco que seria descrições que queremos. E neste caso, as descrições que queremos seriam nossas regras de validação. Ok, então o que queremos fazer neste momento é criar algumas classes que descrevam regras que irão governar sobre os valores aqui. Agora, desde o trabalho, estamos prestes a fazer preocupações com modelos e o melhor lugar para ir em frente e criar os fogos que precisamos seria na pasta modelos. Mas então se você olhar nos modelos para lá, você vê que você já tem uma espécie de variedade. Adi rígida. Você criou o projeto da maneira que eu fiz com a conta de usuário individual configurada
no início, então você teria esses modelos de visualização já existentes. Então, a fim de não misturar e manter essa separação fora de preocupações, eu vou apenas criar uma nova pasta em que eu vou chamá-lo de Meta Classes em, em
seguida, dentro de classes médias. Então eu vou ter essas classes de dados meta que eu aludi apenas saber o primeiro 1 que eu criar fora do curso é um para cursos. Então, com razão, adicione Criar uma classe em. Vou chamar este curso de Deus. E então isso vai me dar essa aula vazia. - Não. Meu primeiro objetivo é atender esta classe vazia espelho meu modelo real para que eu possa voltar para o meu curso que CS arquivo em. Encontre todas essas propriedades que estão lá para mim. Eu não tenho que trazer. Eu não tenho que valorizar isso. Claro que eu d porque após a criação são uma guitarra. Qualquer operação. Não precisamos validar o que o corpo está aqui, mas talvez queiramos restringir qualquer campo com fiapos. 50 em. Não queremos que as pessoas coloquem 50 créditos por qualquer curso que estejam criando. Talvez o máximo de críticos acima que qualquer curso pode ser é oito. Então, nós estamos indo para o pé. Copie estes dois. Coloque-os em nossa classe meta mais tarde, em
seguida, prossiga toe, adicione ou validações antes de seguirmos em frente. Para adicionar nossas validações ou o que chamamos de dados em notações, temos que incluir nossa biblioteca que nos dá essa função para que possamos ver usando nós
de sistema do modelo polonês. Isso é mais tarde nas anotações. Não, você pode não se lembrar disso, mas quando vir o padrão que estou prestes a usar é que seu estúdio vai reconhecer esse padrão na cidade que, Ei, isso é ilegal. Você tem que incluir esta biblioteca para usar isso em. Então eles iriam sugerir que você incluísse essa biblioteca. Então, como eu disse, a primeira coisa que quero fazer é incluir uma terra de corda de 50. Então, literalmente, eu vou dizer comprimento da corda e sua inteligência termina para nós. Vou ver 50. Não, se eu remover isso ao notar que não se tornou para a vida de todos os outros, um pouco ganância fora. Mas este é um texto branco em negrito. Se eu removi isso do que digitar, isso causaria um início no Visual Studio. E então eles me sugeriram que eu preciso dessa biblioteca para que você sempre possa começar a
digitá-la antes em seguida, incluir a biblioteca mais rica, ativamente ou até mesmo apenas incluir esta biblioteca, e então você não tem nenhum problema em seguir em frente. Eu também disse que ex-inteiro eu quero restringir o intervalo de valores para ser de um. Então isso significa que você não pode ter um curso com zero créditos sobre ele nunca deve passá-lo. Não, é digno de nós que você pode realmente incluí-los diretamente em seu curso. Esse é o ano. Então você não tinha que necessariamente ir e criar um novo arquivo inteiro um novo trimestre inteiro em todo o
novo arquivo e, em seguida, começar do zero e colocar essa teoria realmente iria colocá-los bem aqui acima do título em ambos os créditos. A desvantagem disso,
no entanto, no entanto, é que cada vez que o modelo é gerado ou Rita regional são datados ou mudar e você constrói seu projeto. Então você realmente vai ter este arquivo CS, bem como todos os outros. Ficamos aqui atualizados, então todas as alterações que você fez a ele serão descartadas. Então você realmente não quer fazer isso? Porque isso levaria a um monte de trabalho livre. E você tem que fazer isso toda vez. Então eu estou sugerindo que você crie este novo arquivo em. Então você associá-lo com esse modelo usando uma classe parcial em que nós temos isso. Como eu disse, é articulado porque eles são realmente arquivos diferentes, mas unificados porque eles estão fazendo referência um ao outro. Então não importa o que aconteça aqui. Mesmo que a tabela de cursos aproveite para existir. Estes cursos e metadados tabela de cursos não irá de forma alguma invadir a operação fora seu assistente. Então, em seguida, vamos criar realmente outra classe. Andi em C afiado. Você pode realmente usar um cessar-fogo. Os buracos, muitas aulas. Algumas pessoas dizem que é um mau treino. Algumas pessoas praticam,
é com você. Você pode decidir o que quer fazer. Só vou usar essa equipe da CIA chamada meta cursos meta dados. Andi,
eu só vou criar outra classe pública, mas esta será parcial, então classe pública parcial. Vou dar-lhe o mesmo nome que o modelo que eu queria ser associado. Então essa é uma dessas notas, ou Beatrix, onde eu posso criar Desculpe, esse nome do curso de classes eu posso criar uma classe parcial e dar-lhe algumas propriedades sobre ele vai trabalhar em conjunto com a classe original. O que eu queria fazer, no entanto, é ser associado com a classe de dados meta. Então eu vou usar outros dados em notação em nós um meta comer um tipo em. Este é um c afiado chique que vai acontecer aqui, mas ele pode estudar este padrão são apenas nenhum buraco para fazer quando for a hora certa. Então eu quero associá-lo a cursos, meta dados. Então, no final deste exercício, ele teria criado uma classe de dados meta que teria notações de dados que irão governar as validações de seus campos em. Você teria associado com a classe vinda de seu modelo apenas em um muito indireto sobre Opie, como se ninguém mudasse antes de seguir em frente. Isto é muito, muito, muito importante. E é um erro comum as pessoas tentarem manter essa separação fora das preocupações, mas a classe parcial que você definiu precisa estar no mesmo espaço de nome que a classe que está. Bem, vamos dizer separados. Então, se eu for para cursos sobre cara, olhar para o espaço de nomes e ver que é na gestão escolar que modelos nós olhamos, onde o espaço de nome é para a classe parcial. Você vê que é, em modelos pensou classes de metal. Então cada pasta determina essa hierarquia de espaço de nome, certo? Então vamos da pasta Project School Management Toe chamada Modelos. Então escola medindo dedo do pé pagar são chamados de modelos para outro titular chamado classes de letras, e esse é o seu espaço de nome. Então o que queremos fazer é remover as classes de metal do espaço de nomes. Podemos deixá-lo fisicamente na pasta,
mas o espaço de nome irá associá-lo a esta pasta em quaisquer outros arquivos nessa pasta. Então, fazendo isso, estamos colocando ou classe parcial em paridade o sentido de carro arte superior com seus
homólogos originais para que possamos ir em frente na realmente depurar e ver se nossa validação funciona nossos convidados. Então vamos olhar para a seção de cursos em apenas executar alguns testes para ver se nossas validações estão funcionando. Então vamos criar um novo. , Em primeiro lugar, vamos apenas clicar em criar. Então, a expectativa é que uma vez que dados inválidos está sendo enviado através, ele vai re ambas as nossas tentativas de criar um registro sobre este apelo no ar uma mensagem para que possamos criar em sem sentir nada. Em nosso vemos que o maior recarrega com uma mensagem de erro o campo de créditos é obrigatório . Temos que rever rapidamente de onde o Sr. ar acabou de ir. Estou trazendo um estúdio visual ainda em modo de depuração. Andi,
eu só vou passar para a nossa visão para criar em cursos sobre. Então podemos dar uma olhada no que está acontecendo naquela seção de créditos fora da fazenda. Então lembre-se, nós temos esse rótulo, que nos dá a palavra créditos sobre. Em seguida, temos as edições que nos usam sobre caixa de texto,
mas, em seguida, vermelho por baixo que ele realmente tem um problema. Meu ajudante, isso está enviando uma mensagem de validação. Tudo bem, ao ver que o texto da classe bootstrap Bash Danger está sendo um vôo. Então isso é basicamente ver que uma vez que eu tentei me submeter. Eu só vou para a minha controladora muito rapidamente em colocar um ponto de ruptura direito nesta decisão. Então ele criou. E se é esse mesmo ponto em, então ele avalia se o estado do modelo é valorizado e você vê que isso está avaliando as quedas, como todas as outras vezes nos exemplos anteriores em que validado em foi verdade. Então, se isso valida o verdadeiro, então isso deve acontecer. O fato de que ele vai cair significa que ele vai apenas retornar a mesma visão, que é a nossa visão de período. A Andi. Ele retornará os dados que estavam sendo enviados, sabemos que não tentamos enviar nada. Então tudo volta, não
tem zero em então isso é o que desencadeia a exibição fora ou mensagem de validação. Então, se eu colocar em um título e você pode ver que eu estava testando essa coisa, então eu coloquei em um título com claramente mais de 50 idades, e para lembrar que são validação. Regra quatro cursos dizem é que só devemos aceitar 50 são até 50. Então, se eu pegar, criar, ele acerta novamente. E ele diz que o estado não é válido, então ele retorna a visão com os dados em que vemos, nós recuperamos nossos dados. Quanto tempo de lado neste jogado é uma mensagem que estamos excedendo ou muito mamãe Lynn. Se eu ver um 10 curso crítico mais uma vez lembrar que ou regra de validação disse 1 para 8. Então isso significa que qualquer coisa menos de um e qualquer coisa mais do que isso irá desencadear em Aramis é se eu pudesse criar mais uma vez. A validade do modelo é falsa, então podemos continuar. Ele será exibido no Aramis apropriado está exibindo para o usuário. Ei, seu líder está errado por essa razão. E então este é um recurso muito legal que podemos usar a garantir que para os usuários estão ficando dentro dos limites fora do que esperamos para nossos dados para que eu possa criar um curso legítimo é ser o Nets e V. C. Validação sobre isso pode ser um curso crítico sobre. Então eu poderia criar e então nós vemos peitos são pontos de ruptura neste momento. Tudo é válido porque é válido. Ele irá em frente e adicioná-lo no DSI das alterações e, em seguida, redirecionar para a nossa listagem fora dos cursos. Então eu pressiono Ponting, a expectativa é cumprida lá nós temos sobre conhaque , é
claro, , é
claro,para que
possamos definir validações em seus campos. Nenhuma anotação de dados realmente serve um propósito maior do que apenas regras de validação sentadas. Eles podem realmente influenciar o que é exibido para um formulário ou para um valor no nome de exibição para funções auxiliares. Compreender? Pular sobre o dedo do pé é muito exigente e mostrar o que quero dizer. Eu me lembro que temos rótulo quatro em então em nossa visão de detalhes, nós temos nome de exibição para então você pode realmente usar dados uma notação para influenciar thes A maneira
simples de mudar isso seria muito sério e reescrever o que ele quer. A desvantagem disso é se o campo muda ou algo sobre o que deve ser exibido, muda e você tem ele fica em diferentes pontos fora do seu projeto. Então você vai ter que passar manualmente e mudá-lo em todos os pontos que podem ser tediosos. Se você no entanto pungente, usar a questão da função em, em
seguida, você usar sua anotação de dados do que uma vez que você atender a alteração na notação de dados que será feita diretamente em seu após Keisha. Assim, apenas como um exemplo rápido para nosso formulário de cursos, temos título e créditos, assim como os campos estão em mais de oito desses títulos e créditos corretos. Assim como eles aparecem em nosso banco de dados, isso é tudo que eles são criados em nossos créditos de título modelo. Sobre isso é o que será exibido em nossa etiqueta para o título na página ou em créditos. Se você acessar os detalhes, veremos título e créditos. Não, parece inocente, e parece sem importância para os cursos, porque só temos uma palavra. E sobre o caso dos estudantes, onde estamos coletando primeiro nome,
sobrenome, sobrenome, matrícula oito e outras coisas para que você possa ver aqui que o sobrenome está aparecendo como
aparece no banco de dados sem espaço, nenhum espaço discernível aqui para legibilidade humana. Se clicarmos em detalhes que veem tudo sobre os alunos e mais uma vez isso não é muito humano, legível ou amigável. Agora, quando vamos aos alunos, ao contrário dos cavalos, não
temos apenas uma palavra, mas temos duas palavras, então clicamos nos alunos e vemos que temos sobrenome, primeiro nome e em Roman em sem espaço discernível entre esses nomes e rótulos, e isso não é muito fácil de usar. Isso não é bom. Queremos garantir que nossos usuários olhem para nossa tela e se sintam confortáveis absorvendo e digerindo nossas informações. Se eu for aos detalhes, você vê, é uma situação muito semelhante. Então nós vamos ter que usar algumas anotações de dados, dedo do pé, limpar isso e tornar nossos alunos muito mais amigáveis mais tarde, quando estamos lendo as informações. Então de volta no estúdio visual que queremos fazer é criar duas classes para associar com os alunos uma para o nosso mental mais tarde, uma para mais rápido parcial Andi foram chamados como eu criei este mais velho aqui meta-classes ou braço . Vai ser qualquer um. Mas, posteriormente, precisamos mudar o espaço do nome para que tudo flua sem problemas. Alguém diretamente ruim vai para a aula e estamos criando alunos. Sim, senhor. Então, a maneira mais fácil de fazer isso é apenas uma cópia. Todos os campos que estão voltando do nosso modelo original em nosso banco de dados nós
detalhamos o meio de expulsão, encontramos estudantes que CS e, em seguida, podemos copiar através de todos estes fazer notar mais uma vez que essas coisas estão disponíveis. Então, para o seu próprio propósito, você pode ir em frente e mudar a batida destes opiáceos seu modelo. Mas eu realmente só preciso obter as anotações de dados aqui para metadados de estudantes. Então eu copiei aqueles através e nós queremos executar alguns rótulos personalizados para todas
essas necessidades desses campos do 1º 1 Eu vou fazer seu sobrenome e eu vou ver o comprimento da string . Andi, só vou marcar uma validação. Não quero que ninguém digita um link com mais de 54 apelidos. Então eu estou sentando uma validação bem aqui. Você viu a seta está sendo exibida e Visual Studio está me dizendo que eu preciso incluir esta biblioteca para usar esta função. Em segundo lugar, eu quero ver que display precisa toe tem nomes em ir para definir um streaming personalizado. Você sempre pode prestar atenção às dicas de ferramentas lá, sempre orientando sobre quais valores podem entrar. Queremos nome, que é o que vai ser exibido na indústria UI. Essa descrição e verificar o que está em que eu quero exibir no último nome do espaço. Tudo bem, então estamos nos afastando do sobrenome como uma palavra perceptível para duas palavras que podem apenas reutilizar essas 100 estações para o primeiro nome. Eu não tenho mais de 50 em um primeiro nome. Apenas coloca em espaço para torná-lo uma inscrição mais legível. Bem, eu não preciso especificar um comprimento porque seja uma data. O tipo de dados já está definido. De qualquer forma,
Andi, quero mostrar as necessidades de inscrição com esta peça. Ou melhor ainda, mudou um pouco e romanos e recompensá-lo só para mostrar que não é uma questão de nos colocar paz aqui. Você pode rotular comer o que quiser em seu formulário. Tudo bem, comigo. Faça o mesmo pelo Liam Médio. Então nome do meio estou limitando o número de caracteres sentados fora do espaço médio, nome e data de nascimento teria regras semelhantes para inscrição, come e símbolos odeia de qualquer maneira. Então este idiota fora do nascimento e, em seguida, o segundo passo de todo este processo de transformação, ele é criar um público mais público Harsh. Oh,
assim, em chamada estudante Onda associa o meta odeia uma aula com ele e você pode olhar para trás para a escola anterior. Mas eu estou indo apenas para o alvo aqui tipo de dados Meta em seguida, entre parênteses vemos tipo off. Desculpe. Digite fora. Andi, soletrar que deve ser fora do tempo estudante meta mais tarde como nosso final depois que provavelmente
poderia ter vindo em primeiro lugar. De qualquer forma, queremos ter certeza de que o nosso espaço de nome é o mesmo que o nome Espaço para a nossa parte deve ser alvo de classe E, em seguida, tendo feito tudo isso, podemos ir em frente e continuar com nossos desenvolvimentos estão em depuração e ver se tudo cliques Não, Quando nossa página de alunos é carregada, você pode começar a ver a diferença é que você já vê que o espaço nable deserto entre sobrenome data do primeiro nome fora da inscrição Então as etiquetas mudaram. Se formos para criar novo ver que os rótulos para o formulário mudaram um nome data fora inscrição nunca incluirá a data de nascimento na criação de idade ainda detalhes Então todos os lugares que é dinâmico Ali usando que HTM um ajudante que apontamos arcos em detalhes. Este bebê e quatro ou no criar você tem rótulo quatro ou em nosso índice. Em seguida, temos essa culpa por todos os lugares que você tem algo assim. Ao configurar ou anotações de dados em sentado à parte meta classe, você verá os diferentes rótulos que definimos sendo exibidos para nossos usos em que é fato e, de fato, como você vai sobre a personalização. O que é isso jogado sem ser muito intrusivo, Andi, aproveitando a flexibilidade que esta estrutura lhe dá.
12. Introdução: Ei, pessoal. Então, bem-vindos a este novo vídeo. Tempos emocionantes pela frente. Nós vamos estar olhando para autenticação de usuário em nosso
sistema de gerenciamento escolar . Agora, até este ponto, temos olhado para a criação de conteúdo, colocando nosso banco de dados. Como criar alunos de cursos. Bem, nós realmente não olhamos para controlar quem pode fazer o que em que é o que a autenticação do usuário é lida tudo sobre colocar em que uma necessidade de se registrar no mecanismo Le Guin para restringir o acesso com base em se você está registrado versus se você não está registrado, o que você pode acessar se você está registrado esse tipo de coisas em. É aí que queremos começar hoje. Desde o início isso totalmente teria notado no canto superior direito fora para barra suficiente que tivemos um registro nascido e tivemos um madeireiro nascido. Eles estiveram lá o tempo todo. Eu não cliquei neles aberto para este mesmo vídeo quando vamos realmente ver o que acontece agora, é digno de nota que isso teria sido gerado para você a partir do get goal em quando eu digo que eles vão. Quero dizer, quando você estava criando o projeto. Havia uma opção lá que perguntava que tipo de autenticação você deseja. Andi, Ele tinha algo para cones individuais e tal e assim por diante. Vamos entrar nisso. Eu trago através desses passos para que você possa se familiarizar com essas opções. Como você selecionou nenhuma autenticação do que nenhum trabalho poderia ter sido feito de antemão. Você selecionou o conceito individual de liberado, que foi o que eu fiz. Ele teria obtido esses botões, bem como algum tribunal gerado auto que teria sido em todo o modelo do projeto, como você teria visto desde o início. Então, para começar, vamos caminhar pelo estúdio visual. Basta criar um projeto simulado em você vai começar a ver as opções exatas que eu estava me referindo . Então aqui temos o Visual Studio mais uma vez sobre isso deve ser uma página muito familiar. Uma vez que você abrir um estúdio visual, são encaminhados para este pH início onde eles querem saber. Você quer algum projeto, etcetera, etcetera? Podemos apenas ir para novo projeto, criar novo projeto selecione aplicação Web. Eu não vou dar a você um nome específico porque eu não vou realmente criar quando eu só quero mostrar a você o que eu estava falando. Quando você seleciona NBC e, em seguida, à direita, você vê que você pode alterar a autenticação. Assim, a autenticação correta
também sabe disso . Nenhuma autenticação me porque o último projeto que eu fiz, eu criei sem autenticação. Existem maneiras de obter autenticação no. Você tem que conseguir algumas bibliotecas de identidade e fazer algum dinheiro vai funcionar sozinho. Mas, então, você sempre pode alterar a autenticação a partir do ponto de criação. Em seguida, clique em cones de usuário individuais para que você tenha trabalho ou escola são cones, que iria ligá-lo para olhar carregar qualquer autenticação do Windows, que provavelmente usaria, como, realizada para um tipo mais interno da Internet de Sentado. Bem, então gostaríamos de usar cones de usuário individuais porque não estávamos necessariamente certos de quem estará acessando. Então eu acho que, com base na natureza do seu projeto, você pode usar individual ou ele pode usar adiado. Mas para este propósito, eu vou usar os cones de usuário individuais se você ler a descrição,dizem
eles, dizem
eles, para aplicativos que histórias de perfis em um banco de dados sequela nele também permite que os usuários
se registrem usando bolotas existentes para plataformas de mídia social. Tudo bem, então ele realmente gera todo esse tribunal e essas interfaces, e você só entra e conecta o que for necessário alguns de acordo. Então ele pode apenas selecionar usuário individual falar cone, ok. E então quando você clica, OK, o projeto seria então preparado, como sabemos. Então, de volta ao nosso projeto foram desde o início. Na verdade, selecionamos cones de usuário individuais. Seríamos capazes de executar uma caixa registradora e executar uma carga. Então eu só vou andar rapidamente através da caixa registradora para mostrar como o tribunal funciona. Isto é estritamente fora da caixa. Eu não fiz nenhuma modificação em. Podemos colocar um endereço de e-mail. Eu posso ver. E vejo que já tenho um aqui, e preciso de um pastor. O Google está sugerindo um muito complicado para mim. Eu só uso isso E então eu clique em registrar em sua atrás, foram encaminhados para a home page onde sabemos, veja, claramente exibido Olá. Esse e-mail que acabei de entrar em seu me dando a capacidade de fazer logoff para que eu possa clicar em fazer
logoff em seguida, eu fui tentar fazer login com essas credenciais exatas. Andi, peça ao Google para ver se essas credenciais porque, você sabe, a senha era um pouco complicada de lembrar. Então eu peço que você guarde isso. E veja, todas essas telas são registradas. Exiba esta tela de login. Todos desligados. Aqueles saíram da caixa com os cones de usuário individual motor de registro de identidade do usuário . Então eu posso apenas clicar arrastando bem aqui. Você vê isso? Eu não sou nenhuma estrada de volta para a home page onde eu estou? Não está logado. Tudo bem, então no estúdio ou em um, nós vamos fazer um tour por todo esse motor. Todo o tribunal que teria sido gerado. Se você quiser adicionar mais campos, o que precisamos modificar? Vamos entrar em como podemos personalizar isso para o nosso próprio. É
13. Mudanças de gerenciamento de usuários web: Ok, então de volta ao estúdio visual, vamos olhar, em primeiro lugar, nosso inimigo controlador de conta. Podemos sentar dissecar tudo o que está aqui. Mas o que eu realmente quero salientar é o fato de que ele tem ações para o registro em log . Ele tem, ah, obter e ação oposta onde valida. Quem é a pessoa que está logando e antiguidades em ação? É apenas um monte de declarações se que foram usados para em então você começa algum outro tribunal porque, lembre-se, não
é tudo sobre verificar ou validar contra um banco de dados local, mas também nos dá poderia toe fechar o registrar-se em se inscrever para um aplicativo usando cones de mídia
social. Para este vídeo, entanto, vamos simplesmente olhar para controlar o registro em log, usando nosso antigo banco de dados local e o que precisamos fazer para apoiar isso. Agora vamos sistematicamente passar por todo esse tribunal, tudo bem, então a primeira coisa a apontar é que na pasta Modelos você teria feito alguns outros arquivos, particularmente modelo de identidade, não CS contra os modelos. Não nos veja neste arquivo seria que o Isar inicial para todo o mecanismo de identidade
que é o que controles são mecanismo de autenticação de usuário Agora,
este mecanismo de autenticação de usuário realmente cria automaticamente um banco de dados para você, pelo menos se você ainda não tiver um. Se você já tem um, então é preciso um pouco de configuração para garantir que você está indo para estar apontando para o banco de dados que você queria apontar para o dedo no nosso arquivo modelo. Modelos de identidade verão que temos duas classes. Usuário do aplicativo no aplicativo, banco de dados Contexto e aplicativo. Db Context aponta para alguma conexão String chamada Default Connection. O que acontece é que uma vez que você gerar todo esse mecanismo de corden e identidade, ele realmente irá gerar um banco de dados para você no primeiro lançamento. Tudo bem, neste banco de dados será gerado com base nas especificações configuradas em conexão padrão que
possamos ir para uma solução. Explorer em Dê uma olhada no arquivo de configuração da Web Isso é configuração da Web no último aqui que está no nível do projeto. Há outro aqui no membro da visão que não é o que você deve estar olhando. Então, o último arquivo de configuração da Web que está no projeto vamos ambos o projeto. Ele terá sob a seção de cadeias de conexão na linha 12. Pode muito, mas você vê nossa cadeia de conexão aqui com o nome padrão conexão. E se você dar uma olhada no que está no valor da cadeia de conexão, você vê, ele tem um valor silencioso e
exclusivo que está fazendo é criar um banco de dados que tem o mesmo nome do seu projeto. A Andi. Ele usará isso como o mecanismo para suas funções de identidade. Se eu der uma olhada no servidor Explorer, eu vejo que eu, de fato, tenho um conjunto de banco de dados de conexão padrão e no gerenciamento
escolar colchetes . E você vê que tem tudo fora daquelas mesas, certo? Tem algumas mesas. A Andi. Aposto algumas mesas lá depois. Mas não se importe com isso. Devia ver pelo menos estes. Mas isso não é necessariamente o que é desejado, porque já temos trabalhado na nossa base de dados. Estamos neste ponto porque estamos fazendo o banco de dados primeiro, NBC cinco desenvolvimentos. Então, fato, de fato, o que deve ser usado mangueira nossas tabelas de identidade deve ser nosso banco de dados que temos vindo este fogo com o qual está alojado na gestão da escola em um quadrado entidades Devi string de conexão. E se olharmos para esta cadeia de conexão, vemos que é de fato e de fato, apontando para o banco de dados em nosso BB local chamado de gestão escolar Devi, que é o banco de dados que realmente queremos estar usando toe house todos os nossos usuários interações ou autenticação do usuário sobre o banquete de vários usuários Hung Shin. Tudo bem, então a primeira coisa que você quer fazer é mudar para onde isso está apontando, e eu já tenho essa linha fora do tribunal. Eu fiz isto. Tudo bem em. Eu vou te guiar por isso. Então eu apenas comento esta linha sobre arma comentar esta linha em, eu vou orientá-lo através das mudanças que eu fiz. Tirei tudo depois da fonte de dados. Então eu o substituí pelos valores provenientes da fonte de dados aqui. Então eu olhei em minha cadeia de conexão entidades Onda rolar até que eu vi fonte de dados. Então, temos uma conexão. String é igual dedo do pé e, em seguida, temos fonte de dados em. Então eu tirei tudo aqui do banco de dados local Desculpe. Até o último. Eu não acho que você precisa de tudo, mas apenas para lhe dar um pouco de clareza. Então eu usei o valor e colá-lo aqui na fonte de dados bem aqui. Então, pelo menos os dois estão olhando para o mesmo ponto. E então você provavelmente vai perguntar. Então, por que não apenas alterar a cadeia de conexão que está sendo referenciada dentro do nosso
modelo de identidade ? Agora, o problema de fazer isso é que estamos usando entidade, estrutura e identidades não funciona bem com esse sabor fora da estrutura de entidade, então ele realmente vai dar um erro. Se você tentar substituir a cadeia de conexão que o modelo de identidade está usando, você pode tentar e ver o erro por si mesmo. E se você teve algum sucesso com
isso, seria contrário ao que estou vendo. Então me dê uma linha e me diga como podemos ter uma discussão sobre isso. Mas a minha coisa é, eu apenas mantive a conexão padrão. Eu sempre poderia renomear suas botas. Eu tenho que ter certeza que muito é uma cadeia de conexão aqui neste arquivo de conflito em. Então eu mudei o valor na conexão String 2.2, meu oito abismo. Agora, tendo feito isso uma vez que você entrar no modo de depuração, ele irá então uma pesquisa para qualquer banco de dados. Então, neste caso, já que ele não existia, ele realmente criou esse banco de dados no momento. Então o que ele vai fazer se o banco de dados é telefone, que será neste caso é ir em frente e gerar essas tabelas. Então, se eu olhar para trás no explorador de servidores e olhar para todas as tabelas que você vê que eu sei ter todas essas tabelas criadas aqui. E se eu olhar de dentro para fora s sendo que os usuários clicando com o botão direito e visualizando os dados, eu vou ver que o usuário que eu acabei de criar está bem aqui. O i d parece um pouco palavra porque provavelmente estamos acostumados a que auto implementação. Isto é o que você chama de uma ideia geo boa ou muito única. Eu desvalorizo. Tudo bem, temos o e-mail. Idris Onda. Temos algumas quedas. Mas olha para isto. Olhe para a senha. Isto não é apenas um passador, mas tem uma senha Hash. Olhe para ele. Dê uma boa olhada nisso. É sempre uma boa prática para criptografar sua senha para que, se alguém por algum golpe de sorte tenha que olhar para o seu banco de dados e olhar para o relatório de usuários. Por mais que eles possam ver o endereço de e-mail, eles nunca devem ser capazes de descobrir em que esta senha está. Se você olhar para o que aparece nessa dica de ferramenta, você vê que esse é um valor total fora dessa senha. É completamente ininteligível para um ser humano. Tudo bem, vamos. Em seguida, eles têm alguns outros padrão Carlos, que entrar em você vê, o nome de usuário é automaticamente definido para qualquer que seja o endereço de e-mail é. Tudo bem, então isso é obtido para cada usuário que você cria, você vê que eles também têm suporte para regras. Eu não tenho regras. Agora vamos voltar ao nosso usuário de aplicativo modelo. Agora, o desafio com este tribunal gerado automaticamente é que ele não necessariamente captura todos os dados que queremos capturar com base em nosso contexto. Então, por exemplo, estou fazendo um sistema de gestão escolar. Se eu tivesse usuários, eu definitivamente vou precisar de mais do que e-mail, endereço e senha para meus usuários. Eu provavelmente vou querer a data de nascimento para os meus alunos e os de inverno em um vestido para meus professores. Vou querer informações adicionais. Tudo bem, então precisamos ser capazes de modificar nosso contexto. nosso modelo que está a governar o que um utilizador se parece com a nossa aplicação? - Não. Há algumas mudanças que precisam ser feitas no 1º 1 é com o aplicativo Usuário. Então nós queremos ir em frente e na propriedade, data de nascimento para esta classe para que eu possa distrair adereços no estúdio visual e pressioná-lo duas vezes, e isso irá gerar essa linha. Eu gostaria que essa data fora de nascimento para ser uma data tipo de dados de tempo em. Eu gostaria que fosse a data de nascimento. Então eu posso apenas usar isso, esclarecer que usando o sistema. A fim de obter o nosso dia para recordar, você tem que usar certas bibliotecas para obter certos tipos de classe. Então sabemos que temos uma nova propriedade em nosso usuário cancelou nascimento ou aniversário. É assim que é a modificação número um sob nosso cinto, você sabe, para adicionar quantas propriedades você precisa em, certifique-se de usar o tipo de dados correto como você vê a necessidade do dedo quando você está armazenando os dados, porque qualquer tipo de dados que você vai usar aqui e C Sharp vai ser traduzido para o nosso SQL para armazenamento adicional. Portanto, seja muito, muito deliberado com seus tipos de dados. O próximo passo é fazer o que você chama de migração ou alteração no banco de dados. Agora passamos por fazer alterações no banco de dados. Vimos que só precisamos ir para o nosso SQL Explorer trazer da tabela modificada em, em
seguida, atualizar nosso E DMX. O problema aqui, no entanto, é que enquanto este CD uma mistura não foi atualizado para refletir as novas tabelas sobre fazer a mudança apenas como isso não significa necessariamente que o aplicativo vai saber o que
fazer . Agora precisamos executar uma migração e para fazer isso, vamos ter que sujar as mãos um pouco com o nosso console, que significa que esta é uma daquelas coisas que tipo de clicar e gerar. Você tem que escrever um pouco de tribunal aqui para fazer isso. Então, vamos querer escrever algumas cotações,
habilitar migrações e ainda mais sobre efeito as migrações usando ou console do gerenciador de pacotes. Já o tenho aqui no médico, na minha barra de ferramentas, mas depois, se não tiver. Há qualquer lugar visível. Então você sempre pode ir para as ferramentas. Em seguida, vá para o novo gerenciador de pacotes e, em seguida, você basta clicar em console gerenciador de pacotes, e que irá gerar este console. Então eu fui dedão. Então eu limpei meu console de qualquer erro confuso que estava lá. Em seguida, analisaremos a habilitação das migrações primeiro no formal. Então vamos escrever, habilitar traço minha canela cinza pressione enter e então eu vou realmente reproduzir esse erro
que acabamos de ver. Então esta seta está dizendo que não podemos ter uma migração sendo feita em ambiguidade porque eu tenho mais de um contexto o contexto. Ele não sabe qual contexto ou qual conexão de banco de dados. Lembre-se que tivemos que cordas de conexão como contado pelo nosso conflito na Web, pois isso foi em torno de um. Desculpe, sabe o conflito que tivemos? Contexto número um, Contexto número dois Ou melhor, tivemos contexto número um, contexto de banco de dados
do aplicativo, bem como contexto número dois para lembrar que este é um
contexto de banco de dados em espera ativar migrações está dizendo Eu não sei em qual deles você quer usar este
comando, então nós temos que ser um pouco mais específicos, então eles realmente instruem você sobre o que dizer. Eles dizem “Use em que eles dizem, para ambos. Portanto, mais de um contexto foi encontrado para habilitá-lo para o contexto do banco de dados do aplicativo. Então precisamos dizer habilitar migrações para isso, que em que e, em seguida, se você quiser que ele para o contexto de entidades que precisamos para habilitá-lo para que isso
isso que eu gostaria que ele no contexto do banco de dados do aplicativo, já que esse é o que realmente e verdadeiramente estamos identificando como nosso contexto de
dados de gerenciamento de usuários. Então eu vou ver aqui habilitar migrações. Posso pressionar para cima para ver a última mulher. Então eu vou dizer, nome do tipo de contexto
traço e eu apenas pressionei. Albany gerou essa linha, e então eu vou apenas copiar e pedaços essas partes para reduzir a margem para o contexto de
aplicação de erro E B e esta imprensa entrar e ver o que acontece. Tudo bem, então essa operação pode ter levado um tempo, mas então veremos aqui que está concluída e temos uma nova configuração de arquivo que CS e
também temos um pequeno aviso aqui, dizendo que eles detectaram que outra migração pode ter ocorrido, mas o resultado final é que nós a habilitamos para nosso projeto. Certo, então a próxima coisa que queremos fazer é registrar. Migrações na migração é muito parecido com fazer uma alteração no banco de dados. Você pode fazer uma alteração no banco de dados. Nessa situação,
porém, porém, estamos fazendo uma alteração no modelo que está gerando o banco de dados. Aberto a este ponto, temos gerado modelos baseados no banco de dados. Esses modelos são gerados com base na base de dados. Nessa situação, o banco de dados foi gerado com base no modelo de usuário do aplicativo, que está herdando do usuário de identidade, que é onde todas essas tabelas e colunas padrão foram geradas. Então nós realmente modificamos o modelo base. Então precisamos informar o banco de dados que o modelo que ele deve emular não está atualizado. Este é um princípio no tribunal Primeiro desenvolvimento, estamos fazendo o primeiro desenvolvimento do banco de dados, o chamado primeiro desenvolvimento. É assim que é. Você constrói o modelo base em, em
seguida, você gera o banco de dados com base nisso. Então, nesta situação, precisamos deixar nosso banco de dados saber que fizemos uma mudança ou vamos para a
migração do Adam . Então eu vou adicionar uma migração traço em eu vou nomeá-lo adicionado nascimento fez. Esse é o nome dessa migração que estou registrando. Então, eu só vou pressionar Enter. E então isso também foi para fazer Ah, pouca operação em quando isso é concluído. Você vê que você teria conseguido outro arquivo. E só para dar uma olhada em onde esses arquivos estão sendo armazenados, você realmente tem uma nova pasta chamada Migrações. E então você vê todas essas migrações rapidamente sendo listadas lá. Então, cada vez que você adiciona uma migração, um, então ah, arquivo é gerado apenas para manter o caminhão fora das mudanças que estão sendo feitas. A coisa boa sobre isso é que você pode reverter para uma migração específica no caso de você achar que pode ter estragado seu modelo de dados ou ter feito uma alteração indesejável pode simplesmente reverter sua migração. Eu desfaria as alterações no seu banco de dados. Então esta metodologia de código primeiro vem a calhar quando você está lidando com um
projeto muito dinâmico em fazer. Você não sabe necessariamente qual é o seu banco de dados até que esteja desenvolvendo o recurso. Então isso funciona bem com uma abordagem mais ágil, depois ter o banco de dados e construir em torno do banco de dados. Dito isto depois de obtermos este incêndio, a última coisa que precisamos fazer é realmente atualizar a atualização de serviços de banco de dados, dados
stash e, em seguida, pressionar enter. Tudo bem, e então temos um pouco de cena do Burbage que podemos ver. O que fez Daschle Toby espaço traço verbais em que nos mostraria todas as instruções SQL que
estão sendo aplicadas ao banco de dados de destino significando qualquer instrução deve ter sido usado para mim que alterar e adicionar essa coluna. Mas o resultado final é que vimos ou lemos a escrita, para que possamos supor que não temos erros. E então podemos sempre voltar ao nosso explorador de servidores e atualizar nossa mesa e voila! Aí está o aniversário. Ele foi adicionado à nossa tabela para que você possa fazer isso com tantas outras colunas quanto você achar adequado. Só estou usando o aniversário de hoje como um exemplo rápido. Mais uma vez, você simplesmente adicionar sua coluna aqui ou como uma propriedade em vez. Em seguida, execute uma migração. O melhor é que você já habilitou as migrações,
portanto, você não precisa passar por essa etapa novamente. O que acontece aqui depois é que cada vez que você faz uma alteração, você tem que adicionar uma migração até que ela seja um nome. O que a migração foi feita em. Então você está no comando de atualização em que vai manter o controle fora de todas as suas alterações como você ir junto, porque você sabe que seu projeto pode expandi-lo. Meu contrato, suas exigências mudam. Você precisa ser irmão dinâmico com o que você está armazenando como informações do usuário. Então é assim que você vai sobre personalizar este modelo de identidade para o que você pode precisar,
a fim de completar sua presa. Não, nós temos mais dois passos e então podemos chamar isso de relativamente concluído. Os fatos que você adicionou isso ao banco de dados não alteram a exibição. Então lembre-se, embora
atualizemos o modelo, ainda precisamos modificar nossa visão para poder coletar essas informações e há
mais alguns passos que precisam seguir para conseguir isso. Então, em primeiro lugar, precisamos entender onde o que é armazenado. Portanto, lembre-se, todas as exibições são armazenadas em uma pasta de exibições em uma pasta que corresponde ao controlador ao
qual ele está relacionado. Então, temos o controlador de conta para autenticação de usuário. Então temos a pasta cones views para todas as vistas relacionadas a isso. E então nós temos ou registrar página agora ou registrar Página é o que nos pediu para o
nome de usuário , que, em outras palavras, seria o e-mail na senha e, em seguida, como para confirmar senha. Como você vê, há alguma configuração, algum cabo gerado na parte de trás que nos dá a comparação entre a senha e o pastor confirmado antes que ele realmente aceite esses dados. Você pode tentar ter saudades de muitas senhas e ver a mensagem de validação que retorna . E lembre-se que deve validação, senhorita, Ele vai voltar para cima aqui ou o set off eles voltaria aqui. Então o que queremos fazer é adicionar a data de nascimento como um campo. Então eu já tenho e-mail. Eu provavelmente gostaria de selecionar ou coletar a data de nascimento logo após os e-mails. Eu posso mudar a data de nascimento na data de nascimento, mas então você notaria que não há data de nascimento chegando na inteligência porque nosso modelo não sabe nada sobre data de nascimento, então eu vou apenas colocá-lo lá, e vemos que ele tem uma linha vermelha porque nosso modelo mais uma vez não sabe que aniversário é. Se olharmos para o modelo, veremos. Outra continua nova construção sendo introduzida, chamada de modelo de visão. Então é realmente apenas um modelo como qualquer outra classe que já vimos. É só que o modelo de visualização, os principais modelos off view, é que você, o desenvolvedor, pode realmente personalizar uma classe que ajuda você a adicionar sua própria data, anotações e validações e assim em. E então você passa para o banco de dados, ou muito sobre o modelo à vontade. Eu teria que fazer um tutorial totalmente diferente sobre esse modelo de visão, ponto de vista e perspectiva. Mas então vamos passar uma cerveja por este, e espero que você conecte os pontos. Se não, você sempre pode assistir esse vídeo. Então precisamos modificar nosso modelo de visualização para que a página saiba sobre a data de nascimento. Então, se nós apenas controlar e clicar em vista de registro, modelo será navegado para ele. Andi, ele está realmente sendo mangueira em um arquivo chamado cone para visualizar modelos no Solution Explorer. Se entrarmos em modelos veremos que temos,
Ah, Ah, modelos de visão
coned, tudo bem. E, em seguida, se abrirmos esse arquivo vai ver que temos alguns modelos de visão de modelo em vez que tipo off tem os mesmos nomes que alguns fora das vistas que você viu no
controlador cones A. Certo, digamos uma verificação do modelo de visualização do cabo. Você tem verificar a visualização do cabo. Esqueceu-se do modelo de vista. Se você olhar em solução. Xperia esqueceu que as visualizações de senha são tão lidas. Essencialmente, um modelo de exibição é mais de um tipo específico off classe que você cria e você pode configurar seus dados e notações que irá. E você vê que há algumas anotações de dados que com validação e o que é exibido em que lhe dá maior controle sobre como você gera sua visão sobre o que você exibe nele vs a vista Vindo o modelo que volta do banco de dados onde você meio que tem que trabalhar com o que você tem tipo de vibração. Portanto, esta é uma maneira muito mais flexível para você, é um pouco mais de trabalho, mas é uma maneira flexível para você gerenciar seus pontos de vista. Então, se olharmos para o nosso modelo de visão de registro verá que isso é necessário. É um endereço de e-mail. Exibe e-mails. Todos sabemos a partir do nosso vídeo de anotações de dados que podemos alterar o que é exibido aqui. Tudo bem. Endereço de e-mail barra o nome de usuário já que eles estão dobrando. Tudo bem, então eu posso ver até mesmo o último nome de usuário. E isso mudaria a exibição. Temos o e-mail da propriedade. Então, o que eu preciso fazer para que este modelo de vista seja conhecido data de nascimento é nele aqui como uma propriedade, então eu vou descer. Então eu vou tornar a data de nascimento obrigatória. Então, vou ver se você precisa. Vou especificar os tipos de dados. Então você tem alguns padrão como este. Isso é um atributo de e-mail. Mas este, eu vou ter que usar meu tipo de dados. Eu acho que estes são o tipo de dados de Denham e, em seguida, abrir e fechar parênteses e dentro
dessas gravidezes como os parâmetros, eu era um tipo de dados data hora ponto e você vê, eles têm alguns chegando na inteligência. Então você tem todos aqueles que você pode usar se você precisa adicionar esse tipo de dedo de validação qualquer que seja a sensação de dedo durável colocado dentro. Assim, o tipo de dados deve estar fora do tipo. A hora na tela será que está fora do nascimento novamente. É aqui que entra o nome de exibição. Porque estou mesmo a ligar para esta data de nascimento. Então está desligado. Digite-o. Tempo nele é batida de nascimento andan mais uma vez após incluir a biblioteca para o dia, que está usando o sistema. Agora, tendo feito isso, a companhia aérea vai embora porque não, nossa modelo sabe em que aniversário é. Então. A peça final deste quebra-cabeça é modificar sobre o controlador de conta em nossa
opção de host de registro onde ele está realmente carregando nosso modelo para enviar para o banco de dados. Então, dizemos que o usuário distante é igual ao novo usuário do aplicativo, lembre-se de onde o usuário do aplicativo está vindo. É a classe que acabamos de adicionar data de nascimento para o aplicativo usuário aniversário que. Então, precisamos ir atualiza este critério modelo de criação fora do objeto fora
do usuário aplicativo para ver o nome de usuário e-mail em. Então Isler adicionou. Então é isso que seria. Mas não queremos que seja uma hora, mas não, vamos adicionar e dizer “nascimento”. É igual a data de nascimento do ponto modelo do dedo do pé. Então lembre-se que quer a opção de postagem. Uma vez que temos a visão e, em seguida,
ele é enviado, ele vira sua a ação post. A primeira ação é, em seguida, receber em oferta objeto. Perturbe você modelo chamado Modelo em Neste modelo de vista de registro ou modelo braço objeto chamado Modelo estamos usando os dados correspondentes sente Então Phil escreveu essas propriedades, então isso significa que eu poderia facilmente adicionar outro campo aqui e chamar o nome de usuário. E então, em vez de usar o endereço de e-mail para o nome do usuário e feminino,
podemos dizer o nome do usuário do ponto do modelo depois de adicionar livros didáticos apropriados ou seção de coleção para o nome do usuário. Então, quaisquer modificações que você está indo para fazer para o seu usuário aplicativo o modelo. Você também tem que fazê-lo para o seu modelo de visualização de registro, em
seguida, a vista de registro, a fim de ter sincronicidade lá em, em
seguida, finalmente ou controlador de conta em tudo desligado. Isso não pode ser feito sem fazer essas etapas de migração. Então eu vou realmente nas notas direita para fora os passos para preencher ou completar todas essas tarefas. Passo a passo. Se você seguir esses passos, então você não pode deixar nenhuma pedra sobre ela. Então, para encerrar isso, vamos nos certificar de que as mudanças que fizemos nosso refletindo na funcionalidade então mais uma
vez eu fiz uma alteração das anotações. Eu disse, mesmo que justiça seja um nome, eu não quero nos usar. Hoje temos o mesmo endereço de e-mail ou nome de usuário. Se eu tentar registrar, então teremos algo sobre a data de nascimento. Sentir-se necessário porque nós tipo de que anotação bit sobre as senhas não fazer muito, porque também há tribunais gerados ou políticos que governam isso. Então todas essas coisas estão no lugar, a data de nascimento, realmente e realmente você quer usar um e um selecionador aqui. Você não quer que o dedo do pé tenha data de nascimento, apenas sendo um campo de texto livre, tanto quanto é um horário de data, e não vai aceitar isso. Mas, em seguida, os usuários tentarão digitar a data de acordo com a espera. Eles acham que eu deveria ser local. Algumas pessoas dizem meses de ano lá algumas pessoas dizem ano os meses. Alguns dizem que o ano meses essencialmente
Citrus, Citrus, então você quer usar um corte na imagem e forçar o padrão a partir daqui, tanto quanto você pode. Mas não vou entrar nisso, Trent. Não, eu vou para a direita. Virgem Maria. Lances aleatórios. Andi, usarei uma senha de teste de senha onde eles não sabem que você pode usar teatro. Na verdade, as anotações governam totalmente despojadas. Essas senhas são eu acho que é uma falta muito. Além disso, na métrica, isso é uma incompatibilidade. Então atacando uma postura e, em seguida, pressione registrar. Por isso, é realmente clique em registrar e ver o que acontece em. Então nos dá esse padrão sobre aquele desgraçado. Então deixe-me tentar de novo. Teste. Então é a postura. Capital T maiúsculo, teste
P, senha um. Certo, temos pelo menos um dígito. Temos pelo menos uma maiúscula. Dou-vos dois para não termos problemas. - Não. Tudo bem. E vemos que progredimos além desse ponto de controle. Se dermos uma olhada rápida em nosso banco de dados, eu vou apenas rapidamente trazer ou solução Explorer, aprofundar em nossas tabelas em nossos bancos de dados e, em seguida, tabelas inteiras, e nós olhamos para os dados em usuários do SB Net e lá nós temos isso. Nós temos o usuário que foi criado anteriormente, e ele tem uma data de nascimento muito genérica porque esse campo de aniversário não pode ser mais do que nós
especificamos que em nosso design de banco de dados. Então, não é sabido. E então você tem uma data de nascimento da Virgem Maria. Além disso, vemos aqui que o que acabamos de criar realmente recebeu o aniversário que colocamos. Tudo bem, então essas são coisas que você pode fazer para garantir que você está capturando todos os
campos necessários de acordo com seu contexto e aplicativo. Onda personalizar a velocidade em seu mecanismo de identidade de usuário. Muito bem, obrigado por vigiar os rapazes. Espero que aprendas a travar mais uma vez. Se você estava inseguro sobre qualquer coisa, me
deixe uma linha nos comentários sobre eu vou ter certeza de voltar para você o mais rápido possível. No próximo vídeo. Estaremos analisando como podemos restringir o acesso a certas partes do para aplicação
14. Autorização de usuários web: pessoal, bem-vindos de volta a este tutorial hoje. Estaremos olhando para a semana inteira e global restringindo o acesso a certas partes fora do nosso site . Não, aberto a este ponto. Tenho certeza que você entende que o controlador controla literalmente todos os controles citados de fluir fora das coisas. Qualquer coisa que você pedir para ver, que estava sob o que chamamos literalmente de você, vai ser procurado e mais tarde processado por ou controladores. Cada pedido passará pelo controlador. A Andi. Deixará os resultados. O que queremos olhar para o é restringir o que alguém pode não ver. Tudo bem, então hoje usaremos este curso é controlador como nossa cobaia. Como se estivesse em. Então vamos dissecar o que podemos colocar no controle de reboque. Quem pode ver o quê? - Não. A primeira coisa que eu quero apontar é um novo dado na notação que você viu
no controlador de conta chamado autorizado. O autorizado significa que você não pode acessar nada dentro deste controle, a menos que você esteja autorizado ou por extensão, autenticado, autenticado, o que significa que você entrou no aplicativo e que você é identificado como um Pessoa autorizada. Em suma, se eu quiser restringir tudo dentro dos meus cursos. Controlador. Significa que você não pode ver a lista. Claro, é que você não pode ser o detalhe de qualquer curso em que você pode criar um curso. Você pode editar ou fazer qualquer fora dessas operações. Além de qualquer outra coisa que você pode ter adicionado ao controlador, Então eu só preciso direito acima da declaração do controlador. Direita Abrir colchetes na palavra autorizada, e você sempre pode passar o mouse sobre ele termina e ver que ele é. Ele especifica que um controlador nossa ação é restrita apenas as pessoas que cumprem o requisito de
autorização. E neste caso você tem que ser amado sendo para ser contado como autorizado. Então, se fizermos isso e então corremos em uma tentativa para o dedo do irmão, qualquer coisa dentro do controle para cursos, então devemos ser redirecionados para o pêssego de madeira. E vamos tentar isso. - Não. Em nosso último vídeo, testamos o recurso de registro e login que vimos que eles funcionam. Nós apenas especificamos que os cursos devem exigir alguma quantidade de autorização antes de conceder acesso, que significa que este botão, que deve levar a cursos, deve me restringir de prosseguir. E vamos colocar isso à prova. Então, por favor, aprenda mais sobre, então voila! Não sou obrigado a fazer login. E, em seguida, se eu disser arrastar usando essa informação de usuário existente, então eu serei redirecionado para o discurso de índice de cursos. Eu posso voltar para casa por toda a duração que eu sou amado. Eu posso clicar, aprender mais sobre o ir em frente sem qualquer obstáculo. Tudo bem. E quando eu estiver aqui, lembre-se que o autorizado estava sobre todo o controle. Assim que eu estiver autorizado, eu posso saber, apagar e ver detalhes e fazer todas as coisas maravilhosas que eu
poderia fazer como uma pessoa autorizada. Eu entendo fazer logoff, e então vamos continuar com nossos experimentos. E você vê que tendo desconectado ele me moveu automaticamente da página restrita volta do dedo do pé parece que ele realmente não se importa se eu acesso não são tão para ou controlador de alunos. Nós também queremos autorizar porque eles não querem que todos e ninguém seja capaz de
entrar no sistema e visualizar em excluir e editar, etc. Mas então eu quero levantar a restrição na vista para a lista de estudantes, então tudo é requer autorização. Mas eu quero essa ação em particular. Talvez alguns outros também. Mas nesta situação, este particular pode ser visto sem ter a devida autorização. Então há outros atributos chamados Hello Anonymous, que, se você ler a dica de ferramenta kindof substitui. O autor de atributos de autorização como um tributo ao seu global. É o soberano poderoso controlador tem a resposta para isso. Mas então qualquer lugar que tenha um baixo, anônimo tipo de diz, OK, eu vou abrir uma exceção para este. Você não precisa ser autorizado para isso, tudo bem, então você pode adicionar isso ao índice. Quero restringir a criação de um aluno e edição de um aluno e exclusão de um aluno por outro usuário registrado. Por isso deixo-os em paz. Então podemos ver se isso funciona. Tudo bem, então nós não estamos amados, e então nós queremos ir ver nossos alunos, então eu vou para os nossos alunos. Então vemos bem, ele carrega, alguns ainda não lovin em. Eu sou capaz de ser todos os alunos do irmão. No entanto, quando eu tentei criar nova edição ou alguns detalhes e abrir todos estes em diferentes para cima, para que possamos ver os diferentes resultados. Você vê isso, isso é criar seu exigindo que eu faça login. Este é para ele. Está exigindo que eu faça login. E este foi para detalhes. Está a obrigar-me a entrar. Então, você vê, embora autorizemos todo o controlador, podemos Olá acesso anônimo tope vistas articulares que, você sabe, se a pessoa não é amor estar bem, Finalmente deixá-lo ver o informação. Mas para ir mais longe, precisamos que você seja autorizado. Você também pode adicionar este autorizado além para acabar com nossos pontos de vista. Se é um caso em que você tem o controlador e você quer tudo isso, Toby abriu todos menos para uma ou duas músicas e apenas para esse autor como atributos diretamente dedo do pé que a ação em seu controlador. Então, em vez de permitir anônimo, você autorizaria bem aqui acima dessa ação, o que restringiria a acessibilidade das ações. Espero que vocês digam valor ao telefone neste vídeo. O próximo vídeo vamos falar sobre restringi-lo com base em regras e modificar quais opções estão disponíveis na exibição quando a pessoa é autorizada em vez de quando não está autorizada ou quando eles são uma regra particular versus quando eles não são. Tudo bem, então obrigado por ver e vejo você na próxima vez.
15. Adição de papéis e autorizações: Ei, pessoal. Em nosso último vídeo, estávamos passando por ativar a autenticação do usuário neste vídeo, vamos estar olhando para configurar regras seu busto para controle adicional. Quem pode acessar o branco? Não, há algumas coisas que precisamos fazer. As regras já seriam habilitadas em virtude do fato de que temos cones de usuário individuais Já configuramos o banco de dados para autenticação do usuário. . Então só precisamos ter mais
alguns ajustes. Teremos nossas regras, separação
animal ou rolo em tato em nossa aplicação. Certo, então vamos recomeçar a jornada na nossa aula de Stipe, desde o último vídeo, eu operei para a comunidade de estúdio visual 2090 adicional. Então a interface pode olhar para a diferença à medida que eu vou ao redor, mas essencialmente, é praticamente o mesmo que 2017 que é o que começamos este curso Siris em. Então começamos com o início. O que eu quero fazer é criar algumas regras para começar. Então, no contexto fora, nosso sistema de gestão escolar provavelmente terá um administrador um princípio sobre Vamos ver ah usuário, nosso professor. Portanto, queremos pelo menos três regras para começar. Então o que eu vou fazer é definir uma função aqui no início da classe que
vai realmente ir em frente e criar essas regras assim que o aplicativo será iniciado, já que é para isso que essas classes aqui. Então eu só ir em frente e eu vou tratar uma função que cria você, Rose e usuários sobre o que eu vou fazer aqui, primeiro lugar, é incluir meu contexto BD aplicativo. Você se lembra que o contexto do aplicativo BB teria sido definido em nosso modelo de identidade aqui mesmo. E representa essa conexão direta que chamamos de queda de conexão com o nosso
banco de dados que está mangueira sobre tabelas de animais de usuário. Então, aqui, conexão
padrão é o rei direito em direção ao banco de dados. Então o que queremos fazer é inicializar um objeto fora disso aqui porque o que queremos fazer é
fazer algumas operações de abelhas de dados. Então precisamos incluir o nosso contexto bebe aplicação e eu tenho uma foto de contexto Z e então você vê que ele está nos fazendo você precisa incluir algo. Então, um bom tubarão-guardião. É controle e ponto e nos mostrará o que aconteceu. Você não pode guiar isso e então vemos em seus contextos de imposição de aplicativos. Ou talvez você seja o tipo de desenvolvedor do bar. Doce sempre via uma fogueira aqui. Nosso contexto profundo foi novo aplicativo Devi contexto Próximo queremos habilitar para gerentes no
farm fora do gerenciador de rolo no gerenciador de usuários. Então eu estou indo apenas para inicializar um objeto chamado Rolling Manager Onda Eu vou ver isso é igual a nova regra Manager e eu posso apenas ver o controle que vai me prometer tem ainda precisa ser instalado incluído Desculpe segundo apenas percenter e ir E eu quero que isso tenha rolagem de identidade nós vamos apenas exigir outra inclusão tão controlada que mais uma vez percenter. Então, à medida que
você avança, você pode simplesmente ir em frente e incluir todas as bibliotecas que precisam ser instaladas nisso . Esta é apenas uma parte da inicialização, então você pode apenas ir em frente e digitar junto comigo regra de identidade frond loja mais uma vez em tudo isso dentro do contexto, fora do contexto. Então, essencialmente, estamos inicializando um gerenciador de função em que estamos passando a regra de identidade no DWI. Foi inicializado e construtor passado médio loja bro sem entidade, papel no punt, o valor fora contexto aqui passando
o banco de dados que este gerenciador de função deve ser inicializado dentro do contexto off eu vou fazer algo semelhante para você é monitor de usuário Então esta duplicar que nove e apenas mudar palavras suaves. Então estes serão gerenciadores de usuários. Este não é um gerenciador de usuários, pelo menos, Soldado tem. E isso pressupõe que configurar isso seria usuário do aplicativo e isso seria armazenamento do usuário mais
uma vez, caso no usuário no contexto para mim é a cena. Não, nós realmente precisamos colocá-lo em ação. Então o que estou prestes a fazer é escrever em sua declaração dizendo que o efêmero já existe. Se eu rolar, não existe, em
seguida, criado em Dwell. Obviamente não o criaria se já existisse. Na verdade, vou criar um usuário admin inicialmente. Então, se e eu vou dizer não no gerente droll permite que eu realmente toe encontrar ou executar
certas operações específicas função para que eu possa ver regra existe sobre disfunção vai realmente ir para o banco de dados regras na estrada estável. Desculpe e verifique se existe uma regra com este nome. Então aqui. Bem, meu suculento se há um papel que existe com o nome administrador Tudo bem. Mas neste caso, eu estou tomando, se não, então eu quero ver se não há nenhum administrador regra, Então faça isso. E o que eu quero fazer é criar a primeira regra. Então eu vou apenas inicializar algo fora do tipo de regra de identidade. E então eu fui dar esse objeto de função e nome, então a idéia seria implícita uma vez que ele entra no banco de dados. Mas vou dar-lhe o nome no nome que vou dar-lhe. É assim que Aan Den? Eu só vou ver um gerente de regras ir em frente e criar essa função. Então Roll Manager mais uma vez tem algumas operações específicas de função que nos ajudam a
regras médicas estáveis. Portanto, não temos que fazer muito trabalho para obter dados dentro e fora do estábulo como com
tabelas regulares . Uma vez que é um usuário, nossa tabela de regras como ele teria sido gerado então temos certas operações dadas a nós por seus diferentes mais que nos ajudam a manipular essas tabelas. Então eu sei que eu tenho o papel. Eu sou realmente apenas fui para criar um usuário fora do mas seu filho usuário. E eu vou fazer meu objeto inicializar seu filho, que então diria usuário novo. Então você poderia ter feito isso aqui. Ele poderia ter feito as chaves aqui. E então esse prédio Namie foi admitido. Alguns vivem dos dois lados. Só por precaução, ouvir-te para ver em afiado. Quer ver como o Opie trabalha lá? Certeza que nós colocá-lo em torno disso então eu vou dar este joelho usuário e apenas dar-lhe significaria
mantê-lo simples na parte do e-mail. Desculpe disse para ser eu quero dizer na mensagem e, em seguida, g gestão da escola para para com. Tudo bem, então, o que não seremos capazes de fazer é definir a senha diretamente aqui. Pelo menos eu não quero porque eu gostaria de realmente ver bar Posser é igualdade, e eu vou apenas dizer senha apenas para mantê-lo simples. Mas lembre-se que nosso banco de dados está realmente indo ou pelo menos nossas funções estão realmente
indo para o pé incorreto. Esta senha antes que ele realmente é armazenado no banco de dados assim senha é igual a esta palavra
simples. Só estou fazendo isso. Eu posso realmente me lembrar, mas isso é muito prática de fato. Estou indo para a frente. Então eu vou ver se o nosso Sim, senhor, eu só estou criando variáveis aqui é igual a. E então aqui é onde o gerenciador de usuários entra porque tudo o que queremos realmente criar um usuário. Então chamamos nosso monitor de usuário, objeto, e então vemos cria, mas sabemos que podemos, e então estamos passando. E se você olhar para a função sobre o Lazio Serie pode criar um usuário sem senha Tudo bem. Você acabou de passar no objeto fora do usuário aplicativo, ou você pode realmente criar uma passagem ou usuário com uma senha em você passar no objeto de usuário ou
aplicativo,objeto aplicativo, usuário e qualquer que seja a senha está em forma de string. Então esta função realmente lidar com essa criptografia. Inserção Andi nas abelhas de dados. Então, déspots em objeto de usuário, bem aqueles um ou senha em, então, apenas em uma verificação superficial aqui para ver se nossas criações,
Então, qualquer momento que você realmente criar, realizar em entidade, estrutura, ação ou função. Normalmente, esta função retornará algum valor. Então, o up de modo que o objeto de usuário Aqui estamos nós são objeto aqui vai realmente ter um valor para que possamos nos ver ponto de ferro bem-sucedido. Tudo bem, então ele vai retornar um booleano se ele foi bem sucedido, ele também retorna as coisas da lista. Setas. Então eu acho que se isso é cai, então você vai obter pelo menos erros. Se isso for verdade, então obviamente seja o que for. Você tentou trabalhar. Então, se esta operação foi bem sucedida, então podemos ver resultados longe é igual ou usando gerente mais uma vez em que queremos adicionar a regra após o seguro e decidir experiência usuário pontos I d. Onda o papel que é de mim ou deixe-me começar a partir do topo. Então nós verificamos. Em primeiro lugar, se houver uma função chamada admin em nossas tabelas de regras Tudo bem. Então, o Roll Manager é o nosso contrato com os nossos velhos rouba o nosso para cantar. A regra existe? Sim ou não? Não. Se não o fizer, o que não faria nesta fase. Em seguida, queremos Primeiro dia cria um objeto de função e, em seguida, preenchê-lo com os dados em. Nesse caso, você deseja dar a ele o nome admin em. Em seguida, vamos em frente e criar o papel para que o papel precisa existir. Em seguida, vamos em frente e cria no usuário admin em. Em seguida, damos a esse usuário administrador positivo, e vemos que ele cria esse usuário com que transeuntes. Então, não, teríamos um anúncio. Onda Mineral. Temos um usuário chamado admin. O que não temos é uma associação entre nosso usuário na função Dover. Então é aí que entra esta linha, onde está. Se o usuário foi criado com sucesso, direito, e se ele obteve esse fogo, então a regra seria criada com sucesso. Se as funções criadas no usuário foram criadas, então queremos ver se ele foi criado com sucesso. Em seguida, queremos adicionar para governar este usuário sobre essa regra. Em outras palavras, não. Queremos criar uma associação entre este usuário I d. Qualquer que seja o ID de usuário? Não, um cientista. Este objeto porque uma vez em dois amigos diferentes, esta operação este objeto é basicamente atualizado com a idéia vinda do banco de dados em Será que temos o Almirante? Então, esta função irá realmente lidar com descobrir os dois ID's em associá-los. Não, eu acho que tudo isso é muito importante para o administrador, porque os usuários do Rodman são malditos, ele geralmente não tem um muito poucos usuários de administração. Você não vai continuar criando usuários Adnan, no entanto, para o diretor ou o supervisor e os professores, não
é tão sério. Então o que podemos fazer é simplesmente verificar se essas regras existem, é entender, para ver se o papel não na minha natureza nós rolo existe neste tempo foi à procura de que é novo professor. Então, se não há regra do professor, então isso entende uma cópia deste tribunal aqui em, então eu vou para o espaço que lá e eu vou mudar o nome do papel para professor e lá nós temos isso. Então, mais uma vez na primeira corrida como fora de escrever este tribunal, nenhuma fora essas regras existem. Então, isso será executado em criar Admiral e usuário admin. Isso vai correr e criar uma regra de professor aconteceu. Vou colocar mais um para um supervisor. Ela é muito semelhante a que novamente super pelo supervisor Sir Onda. Tudo bem. E eu entendo a mudança de controle e ser para construir e só então certeza que eu não tenho erros. Certo. Então não temos erros. Sei que criamos tudo isso. O que precisamos fazer é realmente chamar nossa função em nossa função de configuração, que é executado assim que o aplicativo é iniciado. Sua compreensão para chamar esta função, Eu posso parar convencido que eles se sentam lá em então podemos executar e assistir que nossas regras criadas. Ok, então temos um erro aqui. Hum, se você estava caindo até este ponto em todos os vencedores, lembre-se que nós modificamos sobre objetos de usuário do aplicativo. Dedo do pé, na verdade, eu venci o nascimento? Tudo bem. Então, como resultado, quando estamos criando esse usuário e mais, comece. Desculpe. Só está dizendo que temos contas inválidas,
contas, contas, resultados de
tempo. Então precisamos consertar isso. Então eu vou parar a história do rapidamente. E então o que precisamos fazer é adicionar oito fora do nascimento aqui. Aniversário é igual e outro tempo de batida do mar. Eu não sei. Solar me dispara para fazer um frontal que está usando o sistema, e então podemos tentar de novo. Ok, então nós vemos que nossa aplicação surgiu com sucesso, mas eu não estou muito interessado no que está acontecendo aqui, mas rapidamente fora da Strand. Logan, como usuário administrador, que deveria ter sido criado quando isso foi iniciado. Ok, então não estamos inteiramente interessados no que está nesta tela. No entanto, queremos verificar nosso banco de dados para ver que nossas regras foram criadas. Serviço pequenos pedaços de colo do útero por ter parado o humor das pessoas no dizer assim. Dados da tabela em. Queremos ver que nossas crianças de três anos foram criadas. Andi disse assim feito. Então temos nossos três rolos admissíveis por seu professor sobre os respeitados I ds em desafiar goto s sendo seu usuário do que deveríamos ver ou usuário administrador. Ok. Não estou vendo a perspicácia, usuário. Vou ter que verificar isso. Porque não sei por que
podemos voltar a isso. Porque não sei por que podemos voltar a isso. Então, se o usuário admin não foi criado com sucesso e isso significa que a associação também não foi feita, o que seria encontrado em funções de usuário, certo? Então, não há associação,
Então, pelo menos, temos ou três rolos tinha professor supervisor médio em. Nós temos pelo menos nós temos para usuários aqui. Não, a questão é, se quiséssemos associá-los pelo menos dinheiro Willy, então só precisamos do nosso usuário. Telefonei aqui neste seguimento. Só precisamos do nosso papel. Liguei para esse problema e então poderíamos colocá-los lado a lado manualmente. Em seguida, teríamos um usuário admin versus um professor versus se que se esse usuário eu d aparecer duas vezes com duas regras diferentes do que o usado lá tem essas regras que foram atribuídas . Então isso é apenas depuração. O que aconteceu? Por que nosso usuário administrador que não foi criado? Andi,
tenho uma forte suspeita que tem a ver com a senha de uma semana. Mas vou tratar este tribunal um pouco mais. Na verdade, só vou dar um passo aqui no dia. Vou executá-lo antes das declarações if, só para que eu não possa acreditar no que está acontecendo. É entender. Defina um ponto debo aqui porque é ver a si mesmo cria do objeto com sucesso em entender ir em frente e pressione executar em DSI O que acontece? Tudo bem, então preciso começar. Nós Fitzherbert apontou para olhar ou objeto usuário. Vemos que temos aqui. Eu estive na idéia já está lá em então eu posso passar usando x 11. Vamos linha por linha. Então eu tenho sua senha. E então nós atingimos nossa função aqui, que tinha realmente criado este usuário neste reboco. Então, depois que eu pressionar f 11, em seguida, ele vai toe If declarações que, em seguida, ver a criação do usuário foi bem sucedida. Oh, sim. Então, se eu primeiro esforço novamente, em
seguida, ele deve ir para a instrução if em proceder associa o usuário i d para que o
usuário admin com a função i d. Então eu não estou inteiramente certo por que ele não funcionou enquanto era uma parte da instrução If. Tudo bem, então nossa inscrição acabou desta vez, mas eu vou parar porque eu não estou realmente interessado em competição. Neste momento, eu vou para os meus dados com base em usuários no DSI. Se meus olhos me enganaram ou não, Onda, lá vamos nós. Então overused lá foi criado com sucesso, então isso significa que eu deve ser capaz de entrar com este usuário admin em se olharmos no usuário rosa e nós só precisamos atualizar. Bem, eu já fiz isso. Mas se você não está vendo indústria doente primeiro uma consulta e você vê que você tem esse usuário
associação I d e rolo idéia. Não sei por que o legal não funcionou enquanto estava nos depoimentos. Mas o fato é que nós realmente não queremos que ele funcione novamente. E é por isso que nós teríamos colocado dentro desta declaração para só acontecer se não houver ad mineral. Então este tipo de curso, você poderia realmente colocar em um aplicativo. Você sabe, você está implantando pela primeira vez sobre estas são predefinições. Eles podem colocar qualquer predefinição que você deseja que ele conecte, criar uma função presets criativos, e apenas chamar a função dentro desta função de configuração. No início de nós, eu sei que temos criado com sucesso alguma rosa e criado para estes usuário indo. E há, ou o que queremos fazer é sobre isso é muito, muito, muito introdutório não s prática em tudo, mas para o mar fora exemplo, vou fazê-lo desta forma. O que queremos fazer é realmente modificar sobre o processo de registro para incluir regras. A primeira coisa que quero fazer é ir às minhas modelos. Andi, modifique o modelo de identidade. Então a primeira coisa que eu quero fazer é ir para modelos e modificar minha conta de você modelo em . Encontre o impulso, Sr. Modelo. Eu quero adicionar aqui propriedade toe acomodar regras. Tudo bem, então eu vou apenas criar outro campo obrigatório. Dada a disciplina ano funções de usuário sobre isso vai ser uma string. Eu não quero chamá-lo de usuário ou você também observa que em nosso banco de dados o e-mail no
nome de usuário , eu teria a mesma coisa. Neste caso, eles não têm a mesma coisa. Mas para cada um criado anteriormente, eles têm o mesmo valor. Então o que eu vou fazer é incluir nome de usuário como uma propriedade ao registrar-se em, certifique-se de que nós sentar usar qualquer um dos separadamente. Tudo bem, então eu sou... Usuário novo e alterar esta propriedade para usuário. Em seguida, queremos inicializar nossa caixa de combinação para a visão da destruição. Um pouco deste musical nos meus cones. Controlador Onda, o que vai acontecer neste controlador é que eu quero executar uma consulta contra a minha tabela de regras para ver todas as regras na tabela em apresentá-los como opções de destruição. Tudo bem, então a primeira coisa que eu quero fazer é realmente criar uma propriedade para aplicação. Ele será o contexto. Lembre-se, isso é o que estaremos alugando com nosso banco de dados em. Eu só vou inicializá-lo. Tendo feito isso, queremos ter certeza de que quando o usuário do nosso site foi o registro em, nós renderizamos a exibição estavam realmente renderizando uma lista ou caixa de combinação com todas as suas opções . Então eu sou a visão tosse simples regras Bug Darts sob muitas maneiras de fazer isso sob sprinted, ele tem uma visão, mas em uma chamada de um seleto isso sobre isso realmente iria na mão mais tarde quando começamos a olhar para como associamos arquivos e ter um todo caíram ossos. Mas nessa situação, uma lista selecionada. Em primeiro lugar, é preciso a fonte de dados, que seria o contexto de regras que nos dariam todas as regras. Mas a melhor prática nos faria criar os usuários do administrador fora dos nós da caixa, um usuário menor para criar ou registrar e registrar como e eu fui. Então, enquanto eu estou quando eu não estou fazendo isso como uma prática recomendada. Ao permitir que o usuário escolha seu papel, ainda
podemos, você sabe, explorar por que certas coisas são apenas sobre idéia também. Então, nesta situação, eu modificaria a minha fonte de dados sobre excluir os minerais publicitários. Então pensei que os adolescentes tinham minutos. Então você pode ver onde o nome não está continuando em mim e, em seguida, que veria excluir Advil e, em seguida, podemos apenas colocar sua lista fazer depende mais fácil lá. Teríamos satisfeito o primeiro construtor onde você vê que eles são nove deles e estamos prestes a empregar um dos nove. Isso não é isso com uma lista de seleção. Você pode realmente ver quando ele é selecionado, qual o valor que você deseja. Então eu quero um nome de valor, não o I d. Em também relógio deve ser exibido na matriz. Também deseja que o nome seja exibido. Então, se você já trabalhou com uma caixa de combinação em html, então você saberia que você sempre especificar o valor em você especificar o texto a ser exibido. Portanto, isto é essencialmente o que fazemos. Estamos olhando para esta lista de objetos fora do tipo regra em. Sabemos que qualquer variável ou qualquer objeto em vez fora do tipo Roisman tem nome e idéia. Então estamos dizendo que queremos que o nome seja o valor em Queremos que o nome seja o valor exibido . Também escrever o nosso fazendo tudo isso antes de retornar a vista Agora, na vista sobre distrito como este e ver tribunal de você O que queremos fazer é incluir outra seção de grupos de formulário para a nossa caixa de combinação recém-criada entende cópia em paz que formado grupo em Este seria um rótulo quatro e podemos alterar isso de senhas confirmadas para função de usuário. Mas quando também temos um para usar dentro apenas através deste duas vezes em que provavelmente colocar nome de
usuário acima do e-mail. Tudo bem, mas eu ainda ganhei na época, então eu ainda uso o nome Onda. Vamos ver se esse valor Então isso também seria uma caixa de texto para em oposição toe passer para os livros didáticos para o nosso uso. Tudo bem, e então também não aqui. Nós realmente mudaria isso para a função de usuário para o rótulo, mas queremos que o nosso ajudante HTML para uma lista suspensa. Assim como uma lista suspensa. Em seguida, selecionamos a nossa propriedade usando regra colocar tudo entre aspas Onda vemos que queremos usar uma lista de seleção no caminho estão usando regras de visualização de bugs butts. Então, estamos implicitamente convertendo quaisquer valores dentro de você, mas subiu em uma lista de seleção . E você se lembra que isso é o que dissemos aqui, ver sobre regras de ponto é uma nova lista de seleção. Portanto, este aumento de conversão não deve se sentir considerando que já colocamos em uma
lista de seleção lá em. Então só temos mais um metal anterior vazio que deve ceder aqui da nossa destruição Peach. Muito bem, então modificamos o get ou distribuímos no HTML real. Não, precisamos modificar o que acontece quando posamos de volta. Então, quando um usuário realmente vem para ser registrado suas certezas que Nieto caso aqui Em primeiro lugar, não
precisamos modificar o nosso usando um objeto para saber que ele não está mais tomando e-mail. Mas agora ele está tomando usá-lo porque nós adicionamos que em, em seguida, a próxima coisa que queremos fazer é colocar em uma função cantar para dizer este dot usuário docks adicionar à regra. Então nós vamos realmente associar este usuário com a função em que nos lembraríamos da atividade
anterior que o que queremos é a nossa ideia de usuário. Então, usuário dot i d onda nossa regra pelo nome, que nós obteríamos através do modelo que o papel de usuário são assim que temos um melhor de Eric aqui. Oh, eu sinto muito. Eu estou usando uma espera aqui, então o que eu estou usando tem que ser uma pia. Então está se baseando. Lá vamos nós. Então nossa comida usa seu gerente. Estamos passando o usuário i d porque o usuário teria sido criado a partir desta função. Ligue se ele foi bem sucedido, então nós entraremos automaticamente. Quero dizer, você sempre poderia arruinar o segredo sempre mover este sinal em função após a criação e a associação fora do usuário com o papel. E então você poderia reescrever para a página Andi. Da mesma forma, se depois de renderizar e erro do que o que gostaríamos de fazer é real ou selecionar lista porque quando a página recarrega com os viúvos da nossa era na caixa kumble vazia para o usuário ter que se sentar e descobrir espera como get Algo de volta. Então, queremos recarregar sobre o bug de visualização Com esta lista de seleção tal que foi retorna. Esta visão, é sabe exatamente o que o municipal volta em Ondo para que possamos testar este Onda garantir que nossa aplicação funciona muito bem. Não, nossa candidatura acabou. Vamos tentar se registrar no Brand User e ver o que vivenciar sua vida. Tudo bem, então não, nós vemos que nós temos usado ele e nós temos usado um papel com uma lista lá em baixo. Coisas prevêem, Poderia x Nós poderíamos estilo isso estavam usando bootstrap Para mim, parecia que eu caí. Isso se encaixa com os outros. Mas vamos em frente agora, lugar para o professor de teste estadual ou, digamos, um professor na guarnição de e-mail para ver. Eu disse, você sabe, há barra usando dentro, então nós precisamos modificar ou modelar. Então você tece tudo isso usando ele. Tudo bem, então em aldeias deve ser professor na escola data de nascimento vai deixar essa senha. Vou usar um passe simples novamente e, em seguida, usar um papel. Você percebe que isso está em branco. Quando eu levá-lo, veja que ele realmente tem valores excluindo admin com base na consulta que escrevemos para preencher esta caixa de combinação. A razão Há um espaço de sangue, áreas que em nosso frio nós tivemos uma velocidade em branco em mais de cada TML na forma deste. Tudo bem, então foi isso que eles nos deram um espaço cego como o primeiro amigo padrão. Então, podemos voltar e completar ou destruição, selecionando um rolo, anunciou um professor. E então eu poderia me registrar e havia alguma distância. Receba isso usando a combinação impostora para um professor. E se eu clicar, gerenciar ou clicar no nome do usuário, você verá que você realmente tem algumas funções geradas automaticamente para o usuário aqui. Não vou falar disso hoje, mas podemos dizer que nosso professor foi criado neles. Só quero sair das pessoas mais rapidamente. Em nós pulamos para o banco de dados e vemos regra de observação. Este professor foi designado,
portanto, se eu atualizar a tabela do usuário
, você verá o professor chegando. Então temos o professor na escola ponto com o e-mail e vemos que o carro para usar qualquer névoa vindo através com base nas mudanças que fizemos em. Se eu for ao usuário sobre as regras e vermos um segundo papel aqui chegando com os professores Heidi e o papel do professor, eu d. E lá vamos nós. Então nós temos os professores que eu dei. Temos a regra do professor . É basicamente assim que se faz um barco criando regras. Saiba que a última coisa que eu quero cobrir neste vídeo é como você pode ir barco autorizando um controlador com base na regra. Portanto, tivemos esse custo usando autorização para dizer que você não consegue acessar certas coisas em um controlador ou em todo o controlador. Se você não tem permissão, então eu sei que o que queremos fazer é ver se você não é amado sob uma regra de partículas, então você está impedido de acessar essas coisas. Agora vamos ver, por exemplo, nós já admitimos que já tem professores professores geralmente são os únicos que devem estar olhando para os alunos e seus detalhes. O administrador pode ser o I t Guy, então admin pode não necessariamente ser capaz Teoh acesso a tudo isso e que pode ser um incidente muito se encaixa na América que homens de publicidade deve ser capaz de fazer tudo, mas apenas me humor para isso cenário em, Vamos apenas dizer que qualquer coisa dentro do controlador de alunos só deve ser acessível para pessoas que estão no papel de professor. Então, sobre os atributos de autorização que já está aqui em nosso controlador de alunos, eu só vou colocar entre parênteses abertas e feche. Então vou ver papéis. E então você vê os sentidos intensos vendo linhas iguais. E então o que está esperando é uma força com as regras que devem ser capazes de acessar. Então você pode realmente ter várias regras aqui contra um professor. O Hama. Quero dizer, vírgula, quantos precisar, certo, neste caso, porque só temos que usar qualquer um deles. Só
vou demonstrar com professor versus administrador. Então vamos passar por isso de novo. Um professor está autorizado a acessar tudo dentro deste controlador de alunos. Nós já uma carga anônimo no índice, então isso significa que um administrador ou não pessoa coisa longa deve estar com isso índice ESP. No entanto, se alguém que não está na regra do professor amado em nosso caso contrário tenta ir a detalhes ou criar ou qualquer outra coisa dentro deste controlador, Então ele deve falhar. Agora vamos testar isso. Eu sei que o aplicativo está desligado. Eu percebi que há um bug onde se você está no modo de depuração e você já é amado ser, então quando você tentar fazer esta operação, ele irá pedir-lhe para fazer login como se os atributos ASP do autor não estivesse funcionando. Então, para ter certeza de que você tirar o máximo proveito deste este eu recomendo que você ama off em
você tentar e te amar novamente? Então eu amei fora e eu entrar em destry algumas alterações que eles fizeram para a lei na presença onde eu mudei blogar de e-mail para nome de usuário como geralmente pedimos às pessoas para entrar com nome de
usuário e senha no mesmo wien no tribunal. Na verdade, atualizei o gerenciador de login. Então este é em um troller constante e este é um post log na função frontal. Eu mudo o gerenciador de assinatura que a assinatura de senha deixando de ser o nome de usuário de pontos de modelo. Então eu tenho datado o modelo de registro, ter nome de usuário em vez de fora e-mail na função de assinatura. Na verdade, leva o nome de usuário Onda senha. Então, como estamos usando e-mail como eles usando um mope até não, porque nós adicionamos nome de usuário como um campo em nosso processo de registro, queremos ter certeza de que estamos enviando com nome de usuário e senha, que significa que os outros dois usuários precisaria ser abatido. Nomes de usuário difíceis que não são o e-mail Chris e você disse que são algumas mudanças que
fizeram para que você possa ir em frente e atender essas mudanças. Mas como ele se relaciona também novamente em eu só amo e rapidamente como um professor. E então eu vou demonstrar que um professor pode ir para todos os alunos, que permite anônimo, mas também pode ir em frente em Ir para seus detalhes, o lead ou criar. E eu estou apenas clicando no meio do dedo do pé abrir estes em você abas para que eu possa mostrar que cada página senhores, como seria de esperar uma vez que esta pessoa está no carro para rolar. Não, o que eu vou fazer é sair como professor e, em seguida, fazer login como usuário administrador. Andi agora levantou-se para os alunos que vão sozinho a mim. Mas quando eu clicar em criar novo, ele me pedirá para fazer login porque minha regra de administrador não é um acesso baixo dessa idade no DSO em que a pessoa é amada, mas eles estão sendo solicitados para Blufgan novamente porque eles não estão autorizados. Então, isso é essencialmente como você pode global, usando regras para controlar o acesso às diferentes partes fora de seu aplicativo sobre como você ir barco, instalar regras e personalizá-los para o seu propósito. Tudo isso é extensível para pessoas diferentes têm requisitos diferentes, mas isso é praticamente fora da caixa. Com o mínimo de resfriamento, você pode aproveitar o sistema de monitoramento de regras existente da Microsoft. Eso observando no mar unir estilo.
16. Adicionar projeto ao Github: Ei, pessoal, neste vídeo, vamos ver como você pode adicionar seus projetos, que seria no Visual Studio para obter ajuda para fins de fonte central. Agora get top tem sido em torno de algum tempo, como no momento desta gravação, é frio pela Microsoft. Trata-se de uma plataforma de desenvolvimento orientada para a promoção do código aberto. código aberto significa essencialmente que você está compartilhando seu código. Você sabe que tem um projeto para trabalhar. Se quer que outras pessoas participem, talvez acrescente. Você sabe que isso é o que a guitarra promove no DSO. Ao usar o get up, você pode realmente ter um lugar seguro para o tribunal da Síria ou hospedar seu código. Apenas no caso de você ter alguma dificuldade técnica, sua máquina vai para baixo ou qualquer coisa assim. Você sabe que está aqui no código que você pode ler. Não carregue todo o seu trabalho mais recente em continuar. Ele também faz o controle de versão, o que significa que para cada alteração que você fizer, você pode realmente fazer check-in nessa parte em. Se algo der errado, você pode reverter para a parte anterior realmente funcionando, por isso é muito flexível. É perfeito para uma equipa a cortejar a Andi. Mesmo como um indivíduo, você pode ler muitos benefícios de usá-lo. Então você começa a ser dito por ir para cima ponto com em. Então você será recebido com esta página de destino. Você pode optar por se inscrever se você ainda não tem um contínuo Muito fácil. Apenas o nome de usuário no endereço de e-mail e uma senha. Você pode ver que eu já tenho uma conta. Então eu só assinei este seria Michael. Não, eu costumo usar isso para fins acadêmicos. Então, hoje queremos obter o projeto da nossa gerência escolar que temos trabalhado. E aqui está. Queremos colocar isso no gueto eso. No momento da criação deste projeto, você provavelmente marcou o controle de origem. Você provavelmente não fez de qualquer maneira. Como você está indo junto, você teria notado que eu tenho pequenos cadeados e carrapatos vermelhos ao lado dos meus arquivos. Isto está implícito. São mecanismo de controle de fonte inerente dado a nós pelo Visual Studio onde podemos realmente rastrear são versões aqui mesmo em nossa própria máquina local no Visual Studio está nos permitindo
ver o que mudou desde o momento em que o arquivo foi criado ou desde o última versão do arquivo. Certo. Então, até não, não
checamos nada. Todos os nossos carrapatos estão lá. Se eu expandir os controladores para você, veja que fizemos alterações em todos esses controladores. Então todos eles têm tomadas? - Não. O que queremos fazer é verificar todas as mudanças que fizemos. Melhor prática fora do curso realmente nos faria fazer contas mais curtas de galinhas em vez construir ou todo o recurso ou toda uma série de recursos e, em seguida, verificar quem iria querer provavelmente frango por recurso para que, se algo deu errado, Você sempre pode reverter e ter uma característica a menos do que você tinha antes de a coisa rolar, certo? Então, não, vou mostrar-vos dois cenários. Ou você está no cenário um em que você não clicou no controle de serviço e, em seguida, seu produto seria parecido com isso. Então este é outro projeto que eu tenho. Você vê, ele não tem tomadas, não
conhece cadeados. E não faça isso. Aqui está no projeto. É um controle de fonte. Tudo bem, então se você está vendo este anúncio para o controle de origem. Então ele pode simplesmente ir em frente e clicar nisso. Você deveria ver “fica”. Se você não vir get, isso provavelmente significa que você não instalou. Eles têm função no estúdio visual. Então você quer voltar para o instalador do Visual Studio e certifique-se de selecionar obter na lista de opções que eles lhe dão, mas você pode simplesmente ir em frente e clicar nele. Isso criaria um repositório local em sua máquina que permitiria que você fizesse uma versão. Controle Andi rastreando bem aqui na sua máquina. Então isso está processando por um tempo. Em última análise, o que estamos buscando é que uma vez que você tenha feito isso com sucesso, então você deve ver uma mudança para algo assim. Onde você vê que eles recebem símbolo. É o motor por trás do grupo de origem. Além disso, há um mecanismo de controle de origem chamado git no Este é o motor atrás. Digamos, pegue um bolso grande e alguns outros. Mesmo como seu Dev Ops, anteriormente conhecido como TFS on-line, mesmo quando seu desenvolvimento está empurrando o motor gets Tudo bem, uma vez que você adicionou com sucesso como um repositório local, você deve ver algo
parecido com isso em. Começa a ver aqueles cadeados e fechaduras e aqueles paus ao lado dos seus arquivos? Ele terá solicitado que você se certifique de que vê as alterações antes de continuar. Em seguida, na equipe Explorer. O que você vai ver, eu tenho alguns aqui. Quer dizer que estamos nesta extensa lista do ano local? Pegue os repositórios positivos dela na seção pé para mim. Eu tenho a opção desligada. Um zero se desenvolve. Levante-se. Assim, no zero desenvolvido também é livre. Você pode se inscrever para que um são você precisa de um viver um cones para passar com este. Mas obter top é aberto para todos independentemente fora se você tem um acordo ao vivo ou não. Então é por isso que estou usando Gets Hope Andi. De qualquer forma, Microsoft possui ambos, por isso está a tornar-se mais homogéneo à medida que avançamos. Podemos sempre ir em frente e dizer conectar-se. E se você não está vendo, levanta-se Então, mais uma vez, você provavelmente vai querer verificar o seu instalador do Visual Studio ligado. Certifique-se de que você tem as ferramentas de estúdio visual para gueto. Quero mostrar a vocês uma maneira
fácil de começar. você pode destruir, clique em sua solução em. Então vamos nos comprometer. Então, tenho algumas mudanças que precisam ser comprometidas. Comprometer-se significa que você está realmente indo para o pé. Envie essas alterações para o grupo de origem do seu que você está fazendo uma verificação. Sua verificação no tribunal, literalmente. Certo. Então eu vou enviar todas essas alterações para o meu repositório. Então Iraque clique na solução em aconselhar que você faça isso que o nível de solução para que tudo o que cai por baixo no projeto ou projetos será verificado em cada vez. Então, basta clicar com o botão direito do mouse que você vai para confirmar. E então isso muda o menu para perguntar qual brunch master é o ramo padrão. Você tem que inserir uma mensagem de confirmação? Saiba que o propósito de uma mensagem atual é deixar sua equipe saber ou até mesmo você, porque talvez você olhe para trás. Eu me pergunto o que mudar carne ALS aqui. Tudo bem, então você acabou de colocar em um comentário para ver ou quais novos recursos foram adicionados. Então deixe-me fazer isso rápido, ok? Então você pode ver que meu comentário é silencioso longo em suas coisas que eu fiz que eu não estou capturando aqui. É por isso que eu disse no início que é meio má prática checar no tribunal depois de um período muito prolongado. Então você quer que seu comentário para contar toda a história e também, a fim de contar toda a história é melhor. Você tem contos, depois tem uma grande história e depois tenta capturar tudo em uma grande epístola. Certo? Adicionamos controladores. Desde o início do projeto, adicionamos o modelo de dados e adicionamos funcionalidade de autenticação de usuário muito pior. Com cada uma dessas mudanças, o que gostaríamos de fazer é explicado bem, isso é o que foi feito. Esta mudança. Isso sempre foi feito para essa mudança, certo? Então, mais uma vez. Mas pratique aqui. Mas estou nos ensinando que você vai sozinho. Então você aprende para o seu próprio propósito a não fazer isso assim. E então você vê, acalme tudo e você seria tentado para o slick -lo. Mas, mais uma vez, quero mostrar a vocês o mais simples que podemos continuar com isso. Não cenoura e clique em cometer tudo na pia. Então, o que a pia saberia é perguntar-lhe
ok, submete tudo ao repositório local e você quer afundá-lo com onde, exatamente? Então porque nós não temos um repositório remoto, que seria um dos como seu desenvolve nossa guitarra são. Caso contrário, está nos perguntando, onde queremos afundar? Tudo bem,
então, para facilitar a pia, o que vamos fazer é apenas conectar-nos para nos levantarmos para podermos discotecar à frente e nos conectarmos. Em seguida, isto irá pedir-nos para iniciar sessão com o seu nome de utilizador. Então, assine rapidamente e depois que você assinar com pouco, veremos todos os nossos depositantes listados. Ok, então depois de se conectar para ter esperança aqui no estúdio visual, o que você quer fazer é ir para a casa e clicar em “afundar”. Então o que eu vou pedir é que ele vai dar a você a opção de publicar para se levantar, digamos, em apenas um editor, levantar-se e então nós vamos dar-lhe um menu de tempo onde ele apenas valida Alozie para mudar isso. Se você quiser, você pode alterar o nome fora do repositório, como ele apareceria em levantar-se levado para,
digamos,a digamos, gestão
escolar O r você se levanta em uma descrição nítida aqui. Então o projeto então eu vou tipo de uma descrição rápida são separadamente, e eu coloquei descrição aqui criado para o curso U Demi. Aprenda SP Bennett, NBC com Entity Framework Database First faz. Isso é, é claro, que este vídeo está associado a então. Então isso serve ao propósito de deixar qualquer um que tropeçar no tribunal ter uma idéia de por que isso foi criado ou para que serve. Você pode até tê-lo nos meios privados ou públicos privados não. O mundo inteiro não será capaz de acessar. Esse público significa que bem, o mundo inteiro pode acessar o chamado “Se eles continuarem, levantarem, então você pode descolar a publicação. Certo, assim que a ação estiver concluída, você verá outra mudança. E realmente certeza que você o link direto para o seu repositório aqui em levantar-se que vêm tão rápido que ele vai navegar o seu navegador para isso. Eles também lhe dão a capacidade de gerenciar algumas coisas de se levantar aqui no Visual Studio. Então você realmente não precisa ir ao site muito depois de apenas criar seu contrato. Então, se eu voltar, porém, em eu atualizar aqui, então eu veria que eu tenho o repositório, como foi prometido. Tudo bem. Então eu posso ir para a gerência da escola então será que nós sabemos que quatro compromissos inteiros foram feitos porque o que aconteceu foi que eu no meu computador eu estava fazendo commits para o meu
depositante local . Você pode não ter sido, então você veria provavelmente um commit feito. Mas todos os meus que estavam sendo feitos localmente foram empurrados para se levantar. Então levantar-se tem o mesmo registro de mudanças. Saiba que meu repositório local, duro como eu estava indo junto, indo junto usando apenas localmente. Então aqui você vê o tribunal. Andi, se seguires este link, serias capaz de ver a escola. De
qualquer forma,
você sabe,
usando Ghetto bit Alozie para compartilhar com facilitadores. De
qualquer forma, você sabe, Seus amigos
estão no Dshea aqui? Seja o que for que você está tentando fazer se você está tentando algo e você sabe que não está funcionando no Ártico e apenas enviá-lo para levantar o nosso alguém para verificar em sua porta, é mal aconselhado dedo do pé frango ou cometer frio. Isso não funciona. Então eu aconselharia isso se ele bater. Levante-se. Deve estar operacional. Significa que se eu aparecer, tropeçar em cima dele e tentar não carregá-lo. Posso sempre cloná-lo. Sincronize os arquivos fonte com o meu estúdio visual Oregon. Só não o carregue em um zip ou apenas um dono de zoológico que eu possa abrir no estúdio visual. Ou eu posso simplesmente não saber o zip aqui como um passer por e ter o projeto como você
teria carregado. Então é só para isso que você leva o seu tribunal. Levante-se, Levante-se é muito legal é muito poderoso. Andi, espero que passe bem por este exercício. Se tiver alguma dificuldade, sinta-se à vontade para me dar uma linha neles, sabe?
17. Entendendo a gestão de pacotes: Pessoal, Pessoal, neste vídeo, vamos dar uma olhada rápida na gestão de pacotes. Não, eu teria mencionado antes em tempos anteriores, e estamos olhando para o que vem com o projeto, mas que temos todos esses arquivos bootstrap e todos esses arquivos de script Data Query e assim por diante. Eu teria mencionado que eles não são necessariamente sempre nas versões mais recentes,
certo, porque, porque, como eles construir sobre ele para obter pessoa 1.10 ponto um e um para uma ofensiva Citrus para a maneira
mais fácil ou a maneira que você provavelmente pensar sobre isso naturalmente, toe cutucar ler esses arquivos seria ir para e obter os arquivos físicos e voltar e substituí-los aqui no projeto. Nisso, isso seria bom. Isso seria compreensível. Mas, em seguida, o visual studio kindof tenta tornar mais fácil para você, dando-lhe o que eles chamam novo, recebe gerenciamento de bolso. Então, se você clicar com o botão direito do mouse em seu projeto ou suas referências ek lik, então você veria que eles têm essa coisa chamada gerenciar. Você recebe pacotes. Quando você pegou isso, ele se abre. Ah, belo menu sexual onde está listando todos os pacotes instalados. Todas as possíveis atualizações sobre também abaixando Brose costurar há momentos em que o que sai da caixa de estúdio visual pode não ser adequado para o que você quer fazer em DSO. Eles têm uma comunidade open source onde eles são pessoas baixas para contribuir com soluções para
que você possa realmente crescer todas essas soluções aqui. Andi Condone saque em unidades. Você pode conseguir adotantes para minhas abelhas amargas SQL. Andi, até arranca tudo o que possas precisar. Está em algum lugar aqui, então você sempre pode fazer uma busca. Se você souber exatamente o que
deseja, basta clicar nele e ver mais detalhes. Quanto à versão, eles consideram exatamente qual pessoa. Portanto, é uma seleção muito poderosa em uma ferramenta de gerenciamento de pacotes. Vou passar por cima de opiáceos porque podemos ver que temos 34 opiáceos pendentes. Então, como no momento dessa gravação, NBC 5 estava sendo eliminada, então está meio atrasada. Mas, ah, muitas dessas coisas fora da caixa na hora. Onde o mais recente Não, eles não são os últimos. Então novo get está me permitindo dizer,
OK, OK, eu posso opiar e vamos olhar para Bootstrap eu avisei sobre a atualização do Bootstrap porque se eu
obedeceu bootstrap bem aqui, eu estou movendo da versão 3.0 para a versão quatro lá. Algumas mudanças no tribunal para bootstrap entre três e quatro. Então, um grande salto como esse faria com que fosse depois de muitos testes de regressão e mudanças e por todo o lado, certo? Então, para o propósito deste curso, eu não vou atualizar para a versão quatro pontos. , Está
bem,
mas,à mas, medida que avança, vemos que o Jake se preocupa com isso. É a versão 1? Não é a versão 3.4 do outro Jake, ou se as bibliotecas estão bem mais à frente do que estamos agora, você vê que as bibliotecas M V C. Portanto, não é apenas para arquivos JavaScript e CSS, mas também negócios, e os outros estão listados nas seções de referências, todas essas coisas que lhe dão a funcionalidade real. Todas essas coisas podem ser atualizadas usando novos gets. Então eu vou focar em mim nos arquivos de script porque às vezes quando você atualiza
os concessionários coisas apenas coisas bonitas param de funcionar de problemas de compatibilidade e todo tipo de coisas. Então eu vou apenas mantê-lo simples sobre Eu estou apenas em atualizar qualquer coisa que é javascript. Então aqui eu sei que este é um arquivo de script Java. Muito bem, graxa
da Web. É feito para otimizar. Vou usar isso. Além disso
, vou levar Newtown. Gênio, filho, eu aceito modernizador. Você pega o nerd. Validação de desgaste no G Quartey. Andi, por favor note que se eles estão indo para atualizar qualquer arquivo j Corey dot, por favor obedeça o arquivo baseado em consulta J ter tido problemas no passado com
esse pensamento que Oh, eu não preciso draper atualizado, mas as outras coisas que posso opiar. Então essas coisas podem ser atualizadas se eu for um bootstrap do que ele opiaria o arquivo CSS em, mas o script associado a ele. Mas mais uma vez, vou mudar-me de Andi. Vou deixar tudo o resto. Como está fora do curso que você pode. Você sempre pode regra caixa se você tentar atualizações do dedo do pé. Esses pontos da Microsoft. Dependência é provações de versão para versão em algo tijolos que você sempre pode propriedade. Note que versão funcionou e, em seguida, você pode simplesmente governar Boksic e desinstalar ou você pode ver qual é a versão que você quer no selecionado assim? E ele dorme um pouco e instalará essa versão específica para você. Então eu quero o mais recente. Mas este diz: “ Ponha isso de volta.” Uma vez que termine, sabe, escolher e escolher. E o mesmo procedimento se aplica ao que você está se opondo e tentando instalar. Basta selecionar com o que você quer e qualquer coisa para falar. Comece isso seria em grande estilo, uma órbita de suporte, alguém para ir em frente e subir os thes. Então meu problema para fazer neste processo para dizer que Oh, lá, ele está prestes a fazer essas aparições em. Tem certeza de que deseja clicar continuamente? Ok, então você aceita qualquer contrato de licença que vier em seu caminho, Art e acabamos. Então você veria que você tem mais alguns ticks vermelhos porque as mudanças tiveram que ser feitas, Hum, no novo get INGE inicialmente em que temos menos atualizações pendentes porque tudo o resto está lá mais tarde Então você pode simplesmente fechar essa janela. O que? Eu quero apontar para você também visível, mas mais uma vez, carrapatos
vermelhos aqui, Onda os pacotes. Esse arquivo de conflito é realmente como rastrear todos os pacotes que estão em nosso projeto. Se dermos uma olhada na pasta de scripts, vemos que temos alguns arquivos novos. Então, quando obtemos um novo arquivo por causa do nosso mecanismo de controle de busca, rastreando todas as mudanças que obtemos isso, além da ciência ou ficamos sabendo que este é um novo arquivo. Nunca existiu nos meios neuróticos que estes foram modificados, certo? Então livrou-se dos arquivos antigos e trouxe os novos arquivos. No dia, não
roubamos opiáceos sobre o script dos nossos arquivos CSS. Portanto, não há mudanças lá, fora do curso. Se eu abatido Bootstrap, então você veria sinais pro lá para os novos arquivos. Tudo bem, então uma vez que tudo isso estiver feito, podemos apenas ir em frente e controlar a mudança e ser fazer um projeto de lei sobre a construção foi bem sucedida. Eu também vou apenas ir em frente e verificar este lado do tribunal da escola e cometer isso
mais uma vez porque nós temos suas respostas. Controle? Não, estamos rastreando cada mudança que fazemos. Então vamos dizer abatido. Alguns arquivos de script em novas versões preocupam geek para que isso deve ser descritivo o suficiente. E então podemos estimar tudo e afundar. Então, uma vez que fazemos isso, o que ele faz é confirmar as mudanças localmente em. Então ele apenas os empurra para conseguir um emprego automaticamente para que não tenhamos que nos envolver com o segundo passo. Uma vez que você cometer tudo e afundar em, Lá vamos nós sincronizado com sucesso Andi mais uma vez se nós apenas dar uma olhada no gueto, mas nós apenas atualizar. Então vamos ver onde está. Se os cometas estão bem clicando em commits, podemos ver todas as mudanças quando foram feitas. Andi o quê? A informação. Certo, então é aí que seus comentários são úteis. E então, se você quiser essa versão específica, ele pode apenas clicar nela. Ele mostrará o que foi feito. Eles só podem congelar os arquivos para tirar essa versão específica dos arquivos. Então, se alguma coisa quebrar que nós podemos apenas rolar para trás dedo antes de fazer aqueles que você recebe atualizações
18. Adicione o professor e módulos de gestão para o ensino e inscrição: Ei, pessoal. Então, temos ido para o pé. Um grande marco no nosso projeto. E não, queremos realmente começar a atribuir cursos aos alunos. Andi se movendo junto com realmente ter um sistema de gestão escolar. Não. Uma coisa que não fizemos antes de não está em uma mesa sobre a estrutura dos requisitos. Apoiar a adição de palestrantes ao curso é porque temos cursos. Temos alunos e matrículas. matrículas seriam um aluno sendo designado para fazer, é
claro, no grau que eles obteriam. Mas o que não temos é ter o palestrante que estaria ensinando o curso. Nós não temos uma facilidade para gerenciar isso em nosso aplicativo como ele está. Então, este vídeo é voltado para apenas adicionar esse novo módulo e, à medida que você vai junto com o seu desenvolvimento, especialmente se você está fazendo isso de uma forma ágil, conforme a necessidade surge, você pode precisar modificar seu aplicativo para se adequar as necessidades. Portanto, esse é o cenário que queremos destacar hoje. Então começamos adicionando o professor, a
tabela, tabela dedo ou o banco de dados fora, ou assim eu tenho minha conexão padrão ou gerenciamento de escola para que eles usem um explorador de servidores ou usam o SQL Object Explorer. Você deve ter o mesmo efeito alguém para usar meu SQL server Object Explorer e eu vou adicionar uma nova tabela para a minha gestão escolar Devi em Isto será para professores. Então eu adicionei primeiro nome e sobrenome a este dia para ser um estábulo, fora do curso. Seja o que for que você quer começar sobre eleitoral, você só quer colocar no estábulo. Talvez para o seu sistema de gestão escolar. Você quer construir um perfil inteiro para os setores aqui em uma foto de perfil, talvez sua água especial seja. Mas para que o estado se mova, vou deixar como está. O primeiro nome apelido. É tudo o que precisamos para qualquer palestra. Pelo menos agora, nós também temos que ter certeza de que nossa coluna I D é auto incremental. Por isso, posso distrair os cuidados do Lee e incluir essa identidade na orientação. A coluna de incremento e eu só pensaria identidade para ter certeza de que sua identidade e certeza que está contando cada vez em uma vez que todas essas mudanças foram feitas e você veria refletindo aqui nos tribunais ou no euro, O frio já assim. Isso é bom em. Em seguida, você pode atualizar este estábulo em que sucesso No. Outra mudança quero para mim é para o estábulo de matrícula porque na matrícula, essencialmente é atribuir um professor a uma classe com um aluno em qualquer acordo que palestra teria dado a esse aluno para essa classe. Então essa é a tabela inteira ou de inscrição está configurada. Então queremos ter certeza de que modificamos nossa inscrição, capaz de estar ciente de que ela deve ter outra chave estrangeira no formulário fora da palestra
I.D. I.D. Soto. Adicione as restrições de chave estrangeira ao estável de inscrição. Eu só vou pegar o caminho Círculo e copiar e colar um fora do país que
já está lá e apenas mudar a informação de acordo com minhas necessidades. Então eu fui ver o professor, então eu dei. E então nós trocamos os palestrantes da mesa na coluna I D. Teoh i D. E eu cometi um erro lá, então este seria I D. Já que essa é a coluna de chave primária aqui para que saibamos que é a letra que eu faço. Você tem que chamar isso de ideia de palestra qualquer, e é claramente declarações de quaisquer problemas. E eu estou recebendo um erro aqui porque eu não tenho uma vírgula. Então o coma em seguida todo o ar deve desaparecer. Então isso é adicionar a restrição. O que eu preciso fazer é o papel da coluna. Em vez disso, palestra I d. Mi procura inteiro porque é uma chave estrangeira. Andi, não vou sozinha. Não, porque não faz sentido. Matrícula no forno com um curso e estudante e nenhum professor, certo? Ou posso deixar isto. Não, porque você poderia ter os alunos e ir para o curso. E ainda não sabemos quem vai ser professor, então saiba que está tudo bem. Eu tenho a palestra i d coluna e restrição inaceitável para ver que ele deve aplicar-se
à coluna de letra I d e referenciar a coluna ID em palestras sobre. Então tudo isso está no lugar, então eu apenas clique fora. Isso deve atualizar nossas tabelas de banco de dados. Agora, lembre-se que estamos fazendo o primeiro desenvolvimento do banco de dados, o
que significa que uma vez que as mudanças na base de dados, você tem que atualizar nosso modelo, então nós temos que encontrar ou em diferentes modelos onde, que você acabou clique duas vezes aqui e obtenha este diagrama. Então temos alguns de nós que esperamos bem,
esperamos que o na tabela romana será atualizado com uma nova coluna em que uma nova tabela será adicionada a este modelo relacionado com a inscrição. Então eu vou clicar com o botão direito do mouse no espaço vazio em Clique em Atualizar modelo do banco de dados,
que, em seguida, trazer este estilo de caixa. Posso aprofundar e selecionar especificamente as tabelas. Eu gostaria que o dedo adicionasse. A razão para fazer isso seria não querer adicionar histórico de migração. Se você está fazendo cantado com regras e usuários,
em seguida, encontrar você pode fazer isso. Mas eu não vou estar fazendo nenhuma dessas coisas que eu só estou interessado em um
estábulo de palestrantes , e então eu clique em terminar. Uma vez que é feito, ele faz um re completo primeiro atualiza a tabela de inscrição e anúncios na coluna em falta nele também adiciona na minha tabela docente e mostra a relação entre eles também notar porque eu permitido Não, A notação aqui é diferente da notação aqui. Eu sei que eu tenho minha mesa Electra nele. O próximo passo é tornar as operações de multidão disponíveis, então eu vou apenas para os controladores. Clique em, adicione um novo controlador e, em seguida, eu vou continuar com o controlador NBC cinco com Entity Framework. Eu vou especificar que eu quero que este controlador seja baseado na tabela de professores, que não está listada. E se você se deparar com esse problema, é porque nós não construímos. Então cada vez que você faz uma mudança para a mãe e eu acho que eu disse isso antes, você sempre tem sido um pouco mudança de controle e ser e apenas fazer uma construção rápida depois de uma construção
bem sucedida, nós podemos tentar a operação novamente. Então nós gravamos controladores ir para anúncio novo controlador, continuar com o em trabalho diferente baseado controlador Encontrar mais modelo para que eu possa realmente apenas digitar elect jurado em. Lá vamos nós. Portanto, nosso modelo não está disponível. Podemos deixar tudo o resto, como está por diante. Basta ir em frente e pensar que uma vez que a operação esteja completa, vamos pousar neste controlador com tudo já ligado e já
passamos por todos os poderosos. Esta é a nossa listagem de todos os palestrantes, o detalhe por palestra, que seria como esta página de perfil que começamos a criar em qualquer momento diariamente. Então sabemos que nossas operações de multidão para qualquer dado que você é está concluída, O que você quer fazer é provavelmente em algumas cartas de teste para que possamos continuar com
as inscrições. Onda. Além disso, eu vou apenas ajustar minha página de layout para ter certeza de que eu posso facilmente chegar ao meu palestrante fala. Eu só vou adicionar outro deitado aqui, controle, veja inveja. E isso será para palestrantes para que quando não
pudéssemos essa ligação, estaremos naquela multidão lasciva Operação Espaço. Tudo bem, então eu tenho sido tão rápido correndo e mostrar-lhe como isso parece,
mesmo que deve ser muito familiar. Muito bem, aqui está a nossa página, e vemos que o link dos nossos professores não é adicionado e enfraquece os irmãos a ele. E eu adicionei alguns lascivos aqui Jack Daniels, Johnnie Walker e Re sobrinho. Então é isso para adicionar o modelo de gerenciamento de palestrantes ou aplicação em. Claro, o último ato para este vídeo é o cheque neste código, que
possamos ter certeza de que continuamos de onde paramos. Se alguma coisa ir ao redor assim entender, para escrever uma mensagem rápida sobre. Então nós apenas cometemos tudo e cantamos Jean, cometendo nossas mudanças localmente. Andi no inferno do gueto por mais gestão de matrículas. Vamos repetir muitos dos passos que acabamos de passar com a nossa parte de palestrantes. Mas então muito mais ajustes serão eu. É para que possamos ter, ah, agradável aplicação dinâmica e amigável ao usuário no final dele,
alguém para começar com a adição de um novo controlador em deixá-lo com framework entidade. Desta vez, vamos fazer isso para o nosso modelo de matrícula. Então nós passamos e fizemos por tudo menos matrículas. Então nós criamos que adicionar Tudo bem, Então para o nosso controle de inscrições que nós vamos apenas tomar algumas vezes apreciar o que está acontecendo aqui porque esta tabela vai ser um pouco mais exclusivo do que todas as outras tabelas que nós adicionamos controladores para on por causa disso, eles são mais alguns telefone diz que eles vão estar aqui que você provavelmente não viu antes. Não,
então, então, em primeiro lugar, para a nossa página de índice. Você vê aqui que nós temos uma consulta ligeiramente diferente e eu vou falar ou palestrantes nos
controlaram para que possamos comparar com o controlador elétrico. Tudo o que temos que fazer é pegar todos os palestrantes ou um DVD dot Nature é a lista para, e nós acabamos de devolver isso. No entanto, você percebe que temos duas linhas em inscrições e estamos declarando uma variável
chamada Inscrições, que está executando um Corey semelhante obtendo o banco de dados do contexto, obtendo as inscrições. Mas, em seguida, estamos fazendo algo chamado Incluir no que inclui É It inicia o que
chamamos de carregamento ansioso, que inclui literalmente qualquer entidade relacionada a esta tabela. Então, em outras palavras, se olharmos para trás para o nosso modelo muito rapidamente, veremos que temos três relações tardias no registro, que eu vou apenas arrastá-lo pela tela para que possamos vê-lo de forma diferente. Tudo bem, então quando eu retomar o diagrama de juros, você vê que os leões seguem as matrículas. Isso é porque o professor está associado a matrículas os alunos não está
associado a romanos no curso é um associado à matrícula, que significa que se olharmos para a matrícula, devemos estar vendo dados para o professor. Os poros sobre os alunos em DSO quando o controlador está sendo gerado está buscando em conta todas essas relações nele é escrever a pedreira que vê que você deve incluir dados para o curso relacionado. Você deve incluir dados para os alunos relacionados, e você também deve incluir dados para o professor relacionado. Então cada linha fora da matrícula está indo para o pé. Ter dados associados com o curso, o aluno no docente. Então, quando carregamos índice, podemos olhar para isso um pouco mais sobre. Então, se olharmos para cria, então vamos ver que ele está criando alguma variável genérica, que está na forma do que chamamos de bug view on. Você teria visto saco vista para um pouco em uma palestra anterior, mas ver saco é apenas algo que é criado na mosca sobre o que estamos atribuindo a ele é uma lista suspensa que C afiada ou SP dotnet NBC causar uma lista de seleção em que estamos carregando com a lista de cursos em. Estamos associando esta lista de seleção. O I D ou o valor deve ser o I D fora do curso sobre o que está a ser exibido seria o título. Certo, agora vamos fazer isso três vezes. Estamos fazendo isso para o curso que eu d para alunos em palestras. Então, para cada relacionamento, provavelmente
queremos ter uma lista suspensa que nos permitirá selecionar o valor que
queremos criar esse relacionamento com Andi. À medida que
avançarmos, veremos que tudo o que ele faz é levar todos esses valores para criar um
registro de inscrição . O mesmo seria para os editores. Você sabe que qualquer coisa cria compartilhar um monte de onda tribunal. De qualquer forma, se você remover as inscrições, então você simplesmente remova a inscrição para que os leads não pareçam muito diferentes. Então, podemos apenas ir em frente e clicar, Iniciar e ver como o nosso modelo de inscrições se parece. Antes de fazermos isso fora do curso, você quer adicionar um link para o nosso layout pago para que possamos chegar a ele facilmente, vai rapidamente saltar sobre a compartilhado no Leo e entende mais uma vez duplicar esta linha da mesma maneira. E eu só vou pegar todas as páginas não estavam usando então eu não estou usando um barco e contatos entender para remover aqueles do menu. Então temos mais espaço para páginas que realmente importam. Tudo bem, então, não, eu posso apenas navegar. Vamos verificar como e romance parece. Então, quando a nossa página é carregada, podemos apenas clicar nas inscrições e veremos a lista que está lá até agora. Andi,
eu adicionei isso diretamente ao banco de dados, então eu entrei e disse, Estudante 1 é designado para o curso um, etc, etc. Então é por isso que você veria essas coisas aqui. Um Z pode ver que a tabela levaria algumas modificações porque, bem, ótimo não é título, não
é? O sobrenome dos alunos sozinho está lá no primeiro nome, está lá? Mas isso não é necessariamente segurar. Queremos que nossos rótulos olhem. não são necessariamente os dados que queremos apresentar aqui. Se olharmos para
criações, vemos que obtemos nossas três caixas suspensas então obtemos ou ótimo aqui, que foi texto que temos curso I d, que nos dá essa lista suspensa que temos. O problema é para os alunos. Temos uma lista para os sobrenomes do nosso palestrante. Então vemos que precisamos fazer uma modificação um pouco fora. O que pretendemos é reconstruir este discurso. Então, quando
voltarmos, vamos ver como podemos ir barcos modificando todas essas coisas.
19. Instale bibliotecas de JQueryUI: Ei, pessoal, neste vídeo, vamos ver a instalação do Ajay Kori, vocês biblioteca no nosso projeto. Agora, nós teríamos olhado para Newgate e gerenciamento de pacotes em um vídeo anterior sobre DSO. Neste vídeo, nós realmente vamos estar olhando para como nós podemos usar Jake. Você está eu em nossa aplicação, como nós estaremos usando o recurso auto completo, o que significa que os livros didáticos, quando começamos a digitar, ele também irá completar com todas as correspondências possíveis, você sabe, semelhante à pesquisa do Google. Tudo bem. Então, em primeiro lugar, vamos dar uma olhada no Jake, ou você é a documentação. A documentação está prontamente disponível em seu site. Você pode ir para Jake onde você está ponto com ordem simplesmente google. Jake, de
onde você está neste site, você vai ver que eles te dão um monte de fora. Widgets e ferramentas, como dissemos, serão usados no auto completo para o restante fora desta atividade que eles oferecem Você não sabe links em links sírios semeando, significa que eles hospedam e você apenas inclui esse link em seu núcleo em que vai cuidar da referência para você. Além de tudo isso, o que é necessário para usar o Jake, não
é? Eu é Jake são em si mesmo tão Jake, ou é um framer que é construído em cima de JavaScript sobre ele é quase um novilho médio, um grampo em desenvolvimentos do mundo nos dias de hoje em Jake, onde você nos sábia construindo em dobro essa estrutura e dando-nos, Widget. Tão cedo na palestra, eu teria falado sobre adicionar, como um seletor de datas para a caixa de texto onde o dia é necessário. Bem, Jake, onde você tem um selecionador de encontros e podemos dar uma olhada rápida em tudo o que o selecionador de datas vê como funciona. Então eles nos dão uma página de exemplo aqui, e então nós limpamos os livros didáticos e vemos que o seletor de data aparece e nos
permite selecionar o bit lá sem ter que digitar wearable. E eu estou aqui atacando e ele desativa as entradas. Então, essa é uma das vantagens de usar, como um widget seletor de data em vez disso, permitindo que o usuário digite a data para si mesmo. Em seguida, eles também mostram o código-fonte que é necessário. Eles dão uma idéia do que folha de estilo tem um necessário, bem
como arquivos de script de observação precisam ser incluídos no. Por favor, note que você tem Jake preocupação sendo incluído, bem como uma consulta. Por que sobre estes seria um exemplo? valor SRC seria um exemplo do que um CD em é. Sabe, é só um dedo do pé. O arquivo que está sendo hospedado em algum lugar na Internet para que você não tenha que ter o físico longe . Eu notei. Além disso, essa ordem murmura, você tem que se certificar de que você incluir Jake ou antes de incluir Jake ou você I Caso contrário, você vai ter alguns problemas de referência em, em
seguida, tê-lo referenciar ambos os arquivos do que o função JavaScript real ou função de consulta
J que é empregado para realmente chamar o seletor de data é o pneu. Obter os elementos do seletor de data, que é a entrada. Então nós temos um pitak, claro, e então nós temos uma entrada desliga táticas. Mas a ideia é escolher encontros. Então vemos aqui que Juncker está usando o mesmo tipo de identificar uma hashtag CSS para idéia em um ponto para uma classe então hashtag debate picker alvo que elementos e chamar a
função seletor de data em. Isso é realmente o que envolve a chamada fora do calendário a maneira recebe o seu estilo é por incluir o arquivo tema base para a preocupação Jake Você está bem? Ou talvez você queira incluir o especificamente para o seletor de data que eu sei que eles fazem isso também, qualquer buraco que estamos olhando para a função auto completa que, se você olhar para ele em ação, dado uma lista ou banco de dados fora de todos esses valores, você deve ser capaz de começar a digitar e, em seguida, ele vai fazer sugestões para você Vê isso? Então, se eu digitar T vai procurar por tudo com um T e me devolver o que eu possivelmente quero e isso é tudo que vamos dar oi. Quem quer que esteja adicionando dois cursos aos alunos para realmente procurar nomes de alunos, adicioná-los à classe de uma maneira agradável, divertida, divertida,
dinâmica e interativa. Agora, de
volta ao estúdio visual, precisamos incluir os arquivos Jake ou EU I em nosso projeto. Agora, mais
uma vez, instinto provavelmente vai ter você apenas ir para a página de layout e apenas incluí-los aqui, o que seria bom. Você poderia copiar esse resfriado com o CDN. Links em apenas incluí-los aqui em sua pequena página e, em seguida, você continua. Mas queremos destacar todo o gerenciamento de pacotes nos ajuda a manter o controle do que está acontecendo. Além disso, vamos olhar para o que essas linhas fora da quadra significam. Então note que não temos em nosso Leo Pidge quaisquer tags de link e não temos nenhum script começa, Mas ainda sabemos que somos amigos em CSS cinco e estamos fazendo referência a arquivos de script Java. Então o que está acontecendo é que nós temos um arquivo em nossa pasta upstart chamado Conflito Bondo. O conflito Bundle realmente contém referências aos nossos arquivos para nós a partir daqui, podemos realmente superar todos os arquivos no reboque. Um o que você chama de parte da função. Então pegue o conteúdo que CSS, por exemplo. Então este é o nome fora do pacote para nossos arquivos CSS em. Então, uma vez que este bunless chamado, ele vai incluir o bootstrap sobre arquivo CSS, bem como o nosso site que CS está longe e ele vai olhar em nossa página de layout. Então vamos ver que temos apenas uma chamada toe o pacote conforme especificado pelo nome. Tudo bem. Veja se você dá uma olhada de assassino, você percebe que você tem receitas. O Orender empacota uma consulta. E se olharmos na configuração do pacote você vê que você tem seus pacotes, Querida consulta aqui, amigos pelo nome. Mas é apenas incluir algo na pasta de scripts que podemos realmente investigar isso. Então vamos aos roteiros em seguida, ele está procurando por Jake ou um Dash. Nós temos arquivos que têm Jaker e Dash em, então está procurando por alguma versão, que seria o número da versão, que temos 3.4 ponto um no ponto gs. Então, basicamente isso nos dá uma maneira agradável, dinâmica toe sempre incluir qualquer versão J Query está aqui porque se fosse 1.1 ponto zero, que eu acho que era antes de atualizá-lo, então ele estava sendo referenciado e nós não tinha que mudar nada. Agora que o
atualizamos, ainda não precisamos mudar nada aqui porque ele iria apenas procurar qual é a versão que está disponível para mim no momento. A próxima coisa que queremos fazer é usar novos gets toe incluir todos os
arquivos de script Jake ou você I em que folhas de estilo em nossos produtos, então vamos apenas ir para você sair do topo aberto. Mas se você não fizer isso, então você pode distrair Lee o projeto em Go to Manage, você começa pacotes Este Então líder ainda explorar o que está instalado para obedecer a sua ou ir para bro. Então, estamos interessados em navegar porque queremos algo que não temos atualmente em nossas soluções, então eu posso começar a tocar. Acho que já o procurei antes. Então, Jake, onde você eu subia e encheria Terrell fora do curso. E então podemos sempre clicar nos resultados da pesquisa em. Então leia a descrição. Olhe também para o autor e certifique-se de que ele parece ser legítimo. Irmãos vão em frente. Eu posso alterar a versão se eu quiser, mas eu acredito que o mais recente estável em Go Ahead e Click Install Quero dizer o problema juntos e falar bem e permitir que ele seja executado. Após alguns momentos e uma operação bem-sucedida, você deverá ver algum novo FAZ aparecendo na pasta Conteúdo, bem como na pasta de scripts . Não, precisamos deixar nosso pacote de configuração incluir esses arquivos na renderização. Já temos um pacote para arquivos CSS. Alguns só querem adicionar o arquivo CSS que está associado com minha filha completa Compreender para incluir o arquivo CSS auto completo no meu pacote. Então eu só vou ver karma e, em seguida, eu estou indo toe -lo por caminho no caminho para este é através de feijões de barra barra barra base auto completa. Isso é CSS. Então, deixei-nos cortar lá. Então é a caixa. que significa, você sabe, qualquer que seja o caminho de fogo antes de obter o conteúdo do que incluir isso. Claro que za baleia dinâmica para criar e relativo você é eu e, em seguida, barra de conteúdo e seguida, de conteúdo, para que eles vão para a pasta da equipe em, em seguida, de dois anos mais velho ir para a base e, em seguida, dentro do beisebol que estamos procurando auto completar que CSS sabe. O que isso vai fazer é quando ele renderiza sobre Leo Page, e ele renderiza este pacote huntin CSS. Em seguida, ele vai carregar todos os arquivos CSS do uma vez para que não temos que ir e mudá-lo em todos os lugares ou qualquer coisa que eu apenas mudá-lo em um lugar e ele apenas fica renderizado. Outra coisa que queremos fazer é incluir o Jake Worry Dash You que eu demiti. Agora nós já estamos incluindo Jake usa Compreender para copiar isso porque seria uma dinâmica
semelhante em entender. Para colocar isso em, eu vou criar um novo pacote de scripts e chamá-lo de J Query Dash você I. E então o que eu vou modificar aqui são scripts. Consulta de barra J. Dash você. Por quê? Porque esse é o novo perfurador. O suficiente para arquivos via consulta dashi versão ampla traço. Então é J. Corey Dash U Dash em qualquer número de versão. Então, se obedecermos,
é anos abaixo da linha de 1,12 dois pontos. Oh,
então, enquanto o disco realmente escuta piratas permanecer intacto, ainda
é um fogo J s do que este aqui, o conflito vai apenas pegar a última versão e apenas correr com ele. Então essa é a vantagem de usar este país de pacote. Então nós sempre podemos apenas salvar as alterações lá e, em seguida, porque nós adicionamos um novo conflito do que nós estamos indo tohave toe met ou layout página saber sobre isso para que nós podemos apenas duplicar esta referência de pacote de
consulta J e nós apenas adicionar Dash Você eu me lembro ou sua Mães. Então Jean claro deve sempre vir em primeiro lugar. Então a dependência é depois. Então tenha isso em mente se você vai reorganizar a ordem destes rápido Não, nós podemos apenas executar rapidamente e ver como o nosso tribunal se parece. Agora podemos rapidamente apenas executar ou aplicação e ir para ver fonte paga, que então nos mostrará que tudo deve ser processado. Então nós temos o nosso script rápido aqui sendo incluído Jake Worry e então Jake onde você e então lembre-se que bootstrap sai as palavras para que tudo seja processado como esperado. Mas vemos um erro aqui com mais de comprimento como Onley Bootstrap que CSS está sendo processado e devemos ter três arquivos. Então eu estou apenas pulando rapidamente de volta para o nosso conflito de pacotes que é es e s e s e aqui onde o ar é que nós temos. Nós não referimos este adequadamente cerebral, que assim devemos ter uma vírgula após cada bloco off corda, não um sinal de mais. Então temos bootstrapped. Isso é sim, é lado vírgula, não vírgula CSS. E, em seguida, a nossa ordem completa arquivo CSS. E se tivermos outros. E usamos uma vírgula depois, enfraquecemos o vadio novamente e vemos se temos melhorias. Tudo bem, então podemos enviar isso de novo. Onda. E lá vamos nós. Então, tudo está sendo processado corretamente com para bootstrapping onde estamos lado para fora CSS. E então onde estava toda a cirrose completa? E é assim que você vai, incluindo um pacote. Pelo menos tente dentro do pacote de JavaScript e CSS no todo. Você faria. Olá. É para ser renderizado em seu Leo Peach de uma forma dinâmica fora do curso. Depois de incluí-lo na página de layout, esses arquivos estarão disponíveis para todas as outras páginas, incluindo nosso discurso de inscrição, que é onde nosso tribunal completo automático estará sendo executado.
20. Implemente JQueryUI: Ei, caras. Neste vídeo, vamos começar a implementar nossa função completa Jake Worry Auto para nos ajudar com a matrícula de alunos em um curso. Mas antes de entrar em tudo isso, eu quero passar rapidamente por alguns ajustes que eu fiz para o aplicativo desde o último vídeo. E você pode se sentir livre para imitar isso, se quiser. Em primeiro lugar, eu removi o contato em um barco ligações de mais não bares. E não, só
temos cursos em casa, estudantes e matrículas, tudo bem. E nós poderíamos realmente apenas adicionar palestrantes aqui. Considerando que nós adicionamos um modelo para gerenciar estrela palestrante apenas que rapidamente por isso são suficientes. Barno só tem ligações. Então, nossos modelos que implementamos ou estão implementando Em segundo lugar, você notaria que eu tenho um estilos que renderizam sobre isso é renderizar alguns estilos para Jeker. USO adicionou um novo pacote para o meu conflito pacote para consulta J Por que eu estou incluindo o baseado tudo que CSS que inclui a base que CSS Andi parece que os arquivos do Syriza, bem como e eu tinha seletor de data eu estava executando um experimento. Mas isso realmente deve ser auto completo, não CSS, então eu estou adicionando esses dois arquivos para minhas importações gerais de tese, e eu estou fazendo referência a eles na pedreira DJIA. Você as estrelas dão tudo certo, e se surgir a necessidade, dedo do pé tem mais do que podemos colocá-los como sabemos que precisamos mais uma vez, ordem importa. Então você quer ter certeza de incluir todos os arquivos base primeiro antes dos
arquivos CSS individuais ? Certo, então, não, antes de entrarmos em nosso Jake ou emoção, quero que voltemos para nossa documentação aqui, dada a nós por geek ou você eu ponto com e dê uma olhada no auto completo recurso. O que estamos buscando é quando digitamos o nome de um aluno aqui e selecionado neste exemplo , ele é feito com carga de programação. Então, digamos que as linguagens de programação seriam os nomes dos nossos alunos, e eu escrevo algo como HS. Então, a expectativa é que qualquer estudante cujo nome contém HS deve vir para cima neste drop down. Veja se esse tipo vê quando você tem uma imagem melhor. Então, quando eu selecionar que será que os alunos que serão e rolou uma vez que eu clique em criar, então estamos fazendo isso em pedaços agora. Estamos apenas lidando com a implementação da ordem completa no próximo vídeo. Em seguida, vamos lidar com realmente efetivar isso, adicionando a funcionalidade de inscrição de volta no Visual Studio. Iniciamos este exercício encontrando primeiro a visualização de criação para inscrições em excesso. E então nós vamos fazer um pouco fora re fraturamento. Reorganizar os campos em apenas por vai enlouquecer. Temos um campo para a ganância. Temos um campo para o curso I D, que nos deu uma lista com todos os cursos lá dentro. Temos um
campo para estudantes, que nos dá uma doença de queda para estudantes. Andam outro para palestras mais uma vez com uma droga. Andi, no caso de você ter se perguntado por que temos tantas listas. Uma vez que há um ou muitos significando relacionamento com matrículas, é literalmente muitos dedos do pé um. Com tudo
isso, muitos alunos podem estar no estábulo de matrícula. Muitos cursos podem ser nos estábulos de matrícula e muitos palestrantes. Você vai descobrir que dotnet em andaimes vai realmente dar-lhe listas suspensas. Auto gerado dando-lhe todas as suas opções possíveis em tudo o que é realmente é passado por é o curso I d. Uma vez que é o que a tabela de inscrições está realmente armazenando de qualquer maneira. Então você quer listas suspensas para alguns desses e para alguns fora desses campos, Você quer alterá-los um pouco no momento das inscrições, então provavelmente não precisamos de concreto. Então, na verdade, a ganância que eles não se lembram no banco de dados que teríamos permitido não. Quatro séries. Então, no momento de criar uma matrícula que está adicionando uma turma, vendo quem é a palestra e adicionando os alunos, nós realmente não precisamos da nota para que eu possa remover isso como no momento fora da criação, muitas vezes matrículas. Provavelmente não sabemos quem é a palestra, então não precisamos da palestra que eu dou agora. Tudo o que é realmente importante é especificar quais apartamentos estavam lidando com Onda, qual aluno ou alunos serão atribuídos a esta classe. A parte desta atividade será fazer todo este procedimento dinâmico o suficiente para que você não tenha o usuário não terá dedos fora e irmão volta toda vez que quiser
adicionar um aluno eles podem apenas selecionar o curso e em outras partes fora a página será atualizada. Mas não estamos muito bem agora. Estamos apenas lidando com o auto completo. Eu sou referência inverno, a documentação DJIA Query Mais uma vez, só para que tenhamos uma apreciação para o núcleo que estamos prestes a escrever na parte fora do auto. A documentação completa na qual eu quero me concentrar é um serviço de dados remoto do Jason P. Então vamos usar Jake ou E. Jackson. Você os vê? Me preferências, deduções
de consulta, que vai realmente chamar um link ou chamar um endpoints Jason que estamos indo para mim agora que irá servir alguma lista do abuso de data neste caso, a lista de estudantes baseado no que está sendo apertado. Então, o exemplo aqui é que eles têm uma besta de dados fora de pássaros em. Eles têm um euro para a pesquisa e sua especificação do tipo de dados sobre o que deve ser pesquisado. Então é isso que beat representa o termo a ser procurado em então, após uma consulta bem-sucedida, Andi, ele retornará os dados e eles mostrarão os dados tudo bem, e então quando um é Cilic, ele 'd de modo que é realmente apenas um evento em todo este processo. Então, a fonte dos dados acabará. Ajax longe eles estão vendo o comprimento mínimo para qualquer trimestre de busca deve ser também. Então, dois caracteres e, em seguida, você acionar a pesquisa em, em
seguida, queria selecionar. Então eles desejam estar diretamente com o amor que você selecionou isso com esse valor e que eu d Agora vamos começar nossas jornadas. Vou escrever esta coisa do guião. Essa é a terceira parte fora do meu fij underst colocá-lo no topo aqui fora das vistas podemos ter uma seção distinta para ele para mim, provavelmente mais tarde em extrair isso e colocar um arquivo de script e referências diretamente. Isso é bom. Mas, por enquanto, sou apenas uma ameaça interrompida aqui. E porque o divertido Jake se preocupa às vezes você começaria com taquerias. Documento pontos prontos. Você pode realmente apenas ver função de cifrão em. Então você abre perto. Gosto de fechar minhas funções ao mesmo tempo. Só estamos aquecendo aqui. Mas antes mesmo de começarmos a escrever Jake, onde temos que ter certeza de que temos os controles apropriados ou o que estamos prestes a fazer agora lembre-se que queremos ser capazes de digitar o nome dos alunos e temos uma lista suspensa trabalhando com isso não podemos digitar o nome do aluno com um bônus de drogas. E há outro fator para isso que a lista suspensa está realmente rastreando os alunos i d. Uma caixa de texto não estará rastreando. A ideia dos alunos será rastrear o nome do aluno. Assim, a fim de facilitar a necessidade para o usuário para ver o nome em uma caixa de texto sobre a
solução real para obter uma idéia penhorar o envio fora do formulário. Temos que ensinar a aveia Anderson a apagar isso e eu vou substituí-lo por dois controles e uma caixa de texto. Campo Oculto Onda. Tudo bem, então eu fiz isso muito rápido, e eu estava andando pelas duas linhas fora da quadra, que realmente não deveria ser tão estrangeiro. Nós temos o nosso ajudante HTML aqui e estamos usando uma edição para você poderia ter usado uma caixa de texto para Isso é bom então você percebe que eles não são de mim fora da edição para e os livros didáticos foram tipo de diferente quando se trata de referenciar sobre CSS aulas, mas de qualquer forma, ambos
precisam do modelo Andi. Estamos associando a caixa de texto com estudantes de ponto modelo. Esse primeiro nome na razão pela qual eu estou usando o primeiro nome é que nós não usamos a
coluna de nome completo em estudantes que usaram primeiro nome e sobrenome Andi. Eu só vou usar isso porque eu só preciso de uma caixa de texto. Há Lembrar a edição de Is Going toe produz um controle que está de acordo com qualquer tipo de
dados que estamos dizendo que precisamos dele. Então, neste caso, é um texto. Vamos pegar uma caixa de texto. Eu poderia ter usado sobrenome se eu usasse um modelo de view, que seria uma abstração da entidade real vindo do banco de dados. Eu poderia ter incluído um campo de dados nome completo em que, em seguida, usado nome completo. Portanto, há várias maneiras de fazer isso. Só estou a manter as coisas simples. Hum, então eles acham que ele abre correndo mais tarde no curso, na verdade ver modelos, e então você pode criar isso ao vivo de obstrução, mas para não, vamos apenas manter isso. Então nós temos modelo que para Student esse primeiro nome e, em seguida, nós estamos apenas dando-lhe alguns novos atributos
HTML Andi, incluindo a classe formada US Control, que lhe dá que bootstrapping e, em seguida, a segunda linha é um campo oculto porque queremos um caminhão. O aluno i d. Quando o aluno é selecionado de ordem superior completa lista suspensa mais uma vez, esta caixa de texto auto completa só vai nos mostrar o nome. Mas o que o aplicativo precisa é o i. D. Então estamos apenas usando um oculto para que o usuário não tenha que ver o 123 no 2000 e seja qual for o
valor do aluno I d. Então estamos escondendo isso do usuário. Mas quando o formulário é enviado, isso é o que o modelo realmente precisa. Isto é o que o controlador precisa ver qualquer um. Podemos apenas dar uma olhada rápida na opção post para criar isso. É só querer um aluno que não se importa com o primeiro nome no sobrenome. Tudo bem, então isso é encontrar um equilíbrio entre dar ao usuário uma interface visualmente aceitável para
realmente certificar-se de que nossa solução é uma quebra na manutenção da integridade fora dos dados que estamos passando. Tudo bem, então você modificou isso. Nós apenas pegamos toda a caixa suspensa, e nós somamos leva meses, que vai servir o propósito de nos ter facilitado nossa
funcionalidade completa automática em ah, escondido para o qual é apenas rastrear o i d off o aluno selecionado a partir destes livros didáticos de
preenchimento automático. Agora de volta na consulta J, um, maneira pode realmente apenas ir para a documentação e provavelmente copiar em paz. Então esta pontuação na mudança que à medida que avançamos, sua compreensão para rapidamente pegar um pouco disso no distante ajustá-lo à medida que eu vou junto. Muito bem, aqui temos o nosso cordão Onda. Vamos começar a fracturar o dedo do pé ou propósitos. A primeira mudança são os elementos alvo agora em Jake. Ou você pode direcionar qualquer elemento usando o
valor I d. Assim como em “C assistências”. Quando em CSS você quer o elemento por I d usar a hashtag ou se você queria por ponto de usuário classe Então, nesta situação, você pode realmente referenciá-lo dirigido pelo i d. Usando a hashtag são diretamente pelo nome da classe usando o Mas em Neste caso, o que queremos segmentar é o Editar quatro e, em seguida, temos o primeiro nome do ponto do aluno. Então, em outras palavras, qualquer que seja o valor do modelo aqui que determina o i d fora dos elementos. Então o i d desta lista suspensa é bem, neste caso, curso I d o i d para 84 é estudante. Não é isso que sublinhar Quando você tem essa entidade em sua propriedade, então é geralmente ah, no placar. Então essa é uma pequena área cinzenta. Mas eu vou entrar no modo de depuração e mostrar-lhe como você pode determinar qual é essa idéia será, neste caso, o oculto para suas idéias. Estudante i d. Então eu só quero rapidamente vai ser ousado mais em mostrar-lhe os i ds como eles renderizados. Tudo bem, então é assim que nossa página de criação se parece agora, tendo despojado, dito outras caixas suspensas em que temos idéias de curso. O rótulo que sabemos que podemos mudar usando nossas classes de método em. Nós temos estudante i d sobre o que queríamos determinar era o i d para esses elementos, que é uma caixa de texto para que eu possa ir lá e inspecionar Elemento E então olhando o que é renderizado aqui, eu posso ver que o i d para o elemento é estudante. O modelo é o primeiro nome do aluno. Então, no tribunal, seria o primeiro nome do aluno, mas esse ponto é um elemento ilegal em uma ideia em HTML. Então o que é renderizado é, na verdade, você não me sublinhou primeiro para que possamos sair das pessoas mais rapidamente ou podemos suportar as pessoas mais, já que o que estamos prestes a fazer também irá modificar a interface para que possamos mudar esse elemento alvo de aluno no primeiro nome da
pontuação e, em seguida, vemos que estamos seguindo o tribunal que auto completa, que está chamando a função auto completa em que os elementos alvo. Agora, o próximo passo é mudar o u R l que está sendo referenciado. Vamos ter a nossa própria Europa. Você tem que desperdiçar prontas? Você pode escrevê-lo usando o código auxiliar HTML. Basta escrevê-lo usando o mesmo padrão off barra no ponto. Então eu vou usar o esconderijo no método ponto onde fomos ver uma barra e eu queria nas inscrições. Esse é o controlador, certo? Então seria matrículas cortar o que é ação que você e eu chamaremos. Consiga os alunos. Então, precisamos ir para o nosso controlador elementos mais tarde. Faça uma ação que será chamada sempre que esta função estiver envolvida. Certo, no tipo de dados, podemos modificar isso para Jae Sun. Tudo bem? Jason Pisa especializou-se. O ex-Jason viu um pouco mais confortável usando Jason. Você pode testá-lo com qualquer um deles e me dizer como funciona. E, em seguida, para os dados, você precisa especificar o que? O nome fora da variável que vai conter quaisquer dados que estão sendo inseridos neste elemento. Esse é o nome. Então isso significa que quando construímos nosso jeison em ponto, temos que ter certeza de que ele está equipado. Onda preparou-se para tomar alguma variável chamada termo sobre o valor que estamos passando seu pedido aquele termo. Então isso pode ser qualquer coisa. Isto vai ser transformado. Isso pode ser uma consulta. Você sabe, como quer
que você queira chamá-lo, apenas certifique-se de que quando estamos implementando esta ação, nós temos uma facilidade para reconhecer que este é um parâmetro que está sendo transmitido. Então chegaremos a esse ponto em breve. Estou apenas construindo todo esse recorde Jaco linha por linha. A próxima função é o sucesso, e o sucesso basicamente se envolve quando a fonte trouxe com sucesso, mas dados e assim sucesso Caça disse dados sobre o que eu vou fazer aqui é em uma glândula debo semana. Então, ao declarar, você sabe, se você realmente não conseguir uma ferramenta de depuração como o Visual Studio para levá-la linha por linha, então o que é uma boa técnica é receber. Consola esse log e então você pensa, basta colocar qualquer valor para é que você quer escrever para o console e este conselho
seria os distritos ou console. Então, qualquer que seja o irmão usando neste caso prova que ele sempre tem um top de lápis aqui, e você vê que temos um erro aqui e eu vou explicar esta era. Mas quando fazemos consola esse amor, qualquer que seja o valor que queremos ver impresso aqui, você pode apenas ver lá, e é assim que vamos em frente e construir sobre depuração e certifique-se de que os valores que esperamos são os valores que estamos recebendo de volta. Podemos deixar o comprimento mínimo que propriedades. Então isso significa que ele não vai envolver o auto completo até o mínimo também. Personagens foram para a caixa de pesquisa são os elementos que, neste caso, é estudantes sobre o esporte. O primeiro nome na seleção verá. O que você quer que eu faça quando um valor for selecionado? Isso leva dois parâmetros evento que diz,
qual foi o evento que eu fui acionado E você eu o r se consulta ou dados, seja, e que é qualquer valor está sendo retornado sobre, o sucesso ou qualquer valor é sendo selecionado. Então eu só vou colocar um console que ama aqui mais uma vez só para que possamos ter certeza que estamos recebendo de volta alguns dados sensatos. Quero sair das pessoas mais rápido, e explicarei essa flecha. Deixe-me trazê-lo rapidamente. Então esta seta está basicamente dizendo que Sim, você está tentando inicializar algo quando há um problema de referência, e eu teria dito isso mais de uma vez. E se pudéssemos ver que o problema de referência está bem aqui, bem iniciado. Nós não atualizamos tudo bem, então está dentro Esse problema de referência está bem aqui na nossa função. Invocação. E isso é porque e eu vou trazer completo Hey, é fonte para que possamos vê-lo. Isso ocorre porque, ou script aqui está sendo executado isoladamente. Esta é uma preocupação nerd bloquear a quadra mais profunda e agentes ligados. Estamos rodando na parte superior da página quando somos amigos em consulta G no final da página. E lembre-se que eu disse que a Sequência importa. Então o que precisa acontecer é que esses scripts precisam ser referenciados acima deste bloco no DSO . Tudo vai ser corretamente, então eu vou sair mais das pessoas. Vá aos meus layouts no dia. Eu só vou mover o CF. Como eu disse, você tem um número de técnicas lidar com o dedo do pé. Isto. Você vê várias maneiras. Eu só vou mover meus arquivos de script para o topo da página. Todos os direitos de joelhos, modernizador. Tudo bem, então eu tenho todas as minhas estrelas e todos os meus scripts renderizando primeiro. E então, no momento em que tudo teria sido renderizado e ele chega ao corpo ou à vista, lembre-se que a view é renderizada lá, e neste caso, esta é a vista que este script já teria sido tomadas. Cuidados fora em termos off Que bibliotecas pré-requisito Ele precisa da referência, a fim de fazer a competição
automática sobre as funções de consulta G. Saiba que eu fiz a parte JavaScript. Vou modificar meu controle e adicionar a ação, e eu vou apenas adicioná-lo abaixo da exclusão confirmada. E vamos digitar isso tão rápido. Então, em primeiro lugar, eu especifiquei que eu queria que o tipo de chamada fosse postado. Eu não fiz. Então eu vou modificar que nós queríamos ser uma causa pós-causa. Então, vamos apenas dizer, digite. Estamos bem entre aspas postar. Então, o nosso euro deve ser chamado no post,
e, em seguida, no meu controlador, Eu vou modificar o núcleo em Adicionar em h et colocar a função de resultado Jason das pessoas. Então, depois de saber que teríamos visto resultados de ação cada vez. Não, precisamos dos resultados do Jason. Temos um público e é J filho, e você vê que o interesse desde está ajudando você sozinho. Então eles nos dão construído em função que pode retornar. Jason resultados e eu disse que a função deve ser chamada Obter Estudantes. Então eu só estou me certificando que ele está derramando seu carrinho Aan den. O que estamos passando é um parâmetro chamado “O que você lembra do termo? Então estamos ficando termo corda de metal separado e, em seguida, esta função nós estamos indo para o claro da variável chamada estudantes Onda nós vamos fazer apenas correr até com consulta então eu sei que
devemos saber esperança preocupações trabalho porque nós temos sido andaimes Modificando o tribunal no DSO. Só queremos correr uma semana ou mais. Eu só vou ver um DVD pontos em que os alunos recorrentes tabela e, em seguida, usar não são operador novamente. E então nós vamos entrar em alguns fora da natureza dinâmica off link em diferentes trabalhos em DSO. Vamos declarar um objeto abstrato com os valores de dados que realmente precisamos para esta operação. Mais uma vez, os dois valores de dados que sabemos que precisamos são o nome real, que deve popularmente, esta caixa de texto no I d cujo valor queremos colocar em elementos de tese. Sabemos, entanto, que só podemos olhar para um elemento de cada vez quando ele libera o nome ou o primeiro nome ou o sobrenome no dia. A ideia. Bem, está lá. Então o que precisamos é de nome e eu queria ser muito completa em nossa busca. Queremos ter certeza de que quando digitamos duas letras, essa combinação de letras precisa estar no primeiro nome ou no sobrenome, não apenas no primeiro nome. Então, mesmo que estejamos usando os primeiros nomes aqui, não queremos limitar nosso auto complete apenas primeiro nome. Então, mais uma vez, isso é só porque você não usou um modelo de visão, e eu não estou olhando para o nome completo na capacidade de especificar o que os livros didáticos devem ser . Só estou usando alunos com o primeiro nome. Se você ainda não se sentir confortável que você poderia realmente apenas usar um
tipo de campo de entrada regular igual a texto em uma caixa de texto, então você poderia dizer que o I P é igual ao nome do aluno em você. Dê a aula de bootstrap fora do curso, e então você poderia usar isso aqui, certo? Então é só mostrar que o nome fora da
identidade identidade tem
sido material para a operação que realmente estava prestes a executar, então eu vou deixar isso fora. tribunal aqui tem um ponto de referência, se quiser, mas vou continuar com isso já que você gasta tanto tempo ventilando isso para a TV que os alunos que coletam, os alunos que coletam,
que então requer que eu coloque em alguns parâmetros. E eu tenho que especificar Lambda Expressions primeiro. Então, Q. Aqui é onde eu posso realmente declarar um novo objeto que não necessariamente se parece um objeto de estudante. Alguém para ver novo, porque eu quero um novo objeto abstrato com meus próprios valores. Então Q está apontando para um novo objeto em. Eu vou preencher este objeto abstrato com um nome Andi para o nome que eu vou ver você tem . E lembrem-se, o Q dá-me acesso a todas as propriedades do que estavam a ver. Então tem Q que o primeiro nome, e eu vou fazer com que pareça um nome completo, alguém para planejar gato em um primeiro nome no último dia e dizer ponto bonito no sobrenome em off para colocar um pouco de espaço lá para que pareça amigável. Então esse é o nome completo fora do estudante em então nós também queremos em i d. Então, mais uma vez, este objeto abstrato me permite declarar quaisquer propriedades que eu quero na mosca, e então ele vai construir esses objetos em Coloque a lista fora deles nesta variável de alunos . Tudo bem, então eu vou ser igual a pontos de sapato. I d estudante I d em vez na direita A raiz do dito mais uma vez do nosso banco de dados e nossa tabela de
alunos selecionar em nosso novo objeto. Isso é basicamente o que isso está dizendo. Selecione essas propriedades em um novo objeto sobre este objeto queima tem o
nome da propriedade em Dê-me esses valores sobre ele tem um i. D. Dê-me esses valores e nós poderíamos ir em frente e apenas colocar tantas outras propriedades como desejamos . Mas, mais uma vez só
precisamos do nome e da ideia. Então esses são os únicos dois que estou selecionando. Mas não está terminado lá porque lembre-se que queremos um filtro. Então isso é selecionar todos os alunos a reboque. Objetos novos com nome e I D. Tudo bem, mas o fato é que precisamos filtrar no termo. Precisamos ter certeza de que o que está sendo retornado como alunos tem termo lá, então vamos adicionar onde podemos usar para você no comando filter seria que patos. E então você percebe que os dois não é apenas pegar o nome da idéia porque ele está apenas tentando filtrar o
dedo do pé em qualquer novo objeto que eu acabei de selecionar todos esses dados. Tudo bem, então eu quero ver nós somos o nome, que é uma combinação fora o primeiro nome e sobrenome contém andare expressão é um termo que passou por tudo isso mais uma vez. Estamos a tratar de uma preocupação. Estamos armazenando os resultados em uma variável chamada Alunos nesta pedreira está olhando para amesa de
estudantes,
e está selecionando todos os registros,
mas está reconstruindo-os no reboque em tempo real. Estamos armazenando os resultados em uma variável chamada Alunos nesta pedreira está olhando para a mesa de
estudantes, e está selecionando todos os registros, Modelo muito abstrato que acabamos de criar. Não lhe demos nem sequer lhe daríamos um nome que acabamos de criar. É só para este propósito. E estou dizendo que quero o nome, que será ele o primeiro nome. Além disso, Andi tem espaço vazio e sobrenome apenas para que pareça amigável. Esse é um nome completo que poderia ter chamado esse nome completo se eu quisesse. Na verdade, cabe a você. Eu só menti, cara. Como nome em. Em seguida, selecionamos o I d em nós dizemos que o I d deve ter os alunos i d. E então nós vamos filtrar tudo isso. Tudo isso será filtrado se o nome que for retornado, querida. Adolescentes este termo e no final de tudo isso, precisamos voltar porque você notou que esta linha vermelha esteve aqui todo esse tempo. Temos um resultado do Jason para retornar. Ele vai ser um pouco diferente. Então vamos ver um retorno ao sol. Queremos retornar são estudantes variáveis em que apenas passando todos os métodos que
precisamos apertar. Certo, então estamos devolvendo os resultados do Jason deste objeto ou um conjunto desses objetos como Jason objetos. Nós apenas adicionar em que comportamento toe muito obter que podemos construir e apenas garantir que não temos erros. Tudo bem, então aqui em nosso navegador vai apenas testar e ver se tudo está indo bem com ou chamadas de função. Podemos olhar rapidamente no DSI. Os alunos que temos em nossas partes de banco de dados adicionou mais alguns para trás em criar Lembre-se que o nosso direito frio? Não, é apenas monitoramento por um console que adora o que está acontecendo a cada passo. Então, quando a fonte é bem-sucedida, a inicial escreve o besouro que ele está trazendo de volta para o console também, se algo selecionado. Mas neste momento, acho que só seremos capazes de ver o que volta ao console permitido. Então, se eu tocar t, você sabe que não está acontecendo nada porque não é comprimento mínimo por cinco p em, então você vê o comprimento mínimo e você vê que há alguma ação acontecendo. Mas se analisarmos o console, vemos que ele está trazendo alguns dados para nós. Se eu rastrear E A, ele traz de volta pizza novamente em você ver que é realmente apenas filtragem baseado em que certo sabão que estamos trazendo sobre o nome em que estamos trazendo sobre o I d. Como nós especificamos em nosso objeto abstrato que nós realmente só precisa de nome e eu d. O que precisamos fazer é realmente exibir o menu suspenso real para que possamos clicar e selecionar esse valor aqui, mas em segundo plano. - Claro. Este valor idéia em nossa arte deve campo para trás em nossa aplicação e fez uma mudança aqui rapidamente e eu apenas caminhando através dele todo o ponto off fonte ter parâmetros dedo do pé, pedido e resposta. Chamámo-los assim, mas chamámo-los de acordo com o quê? Portanto, o pedido é o que será passado sobre as respostas. O que é C? Então, o que é recebido volta com sucesso ao usar nossa função de resposta. Podemos realmente marcar alguns itens de dados, que teria sido o que é retornado. Então a data está em ary fora dos resultados da pesquisa. Então a resposta está limpando todos esses itens de dados. Andi,
eu estou chamando Ah, eu estou passando cada registro deste ari para esta função e eu estou retornando um valor rótulo fora do item desse nome. Então lembre-se que item ou dados teria honoree fora objetos que têm i d e necessidade. Então, cada item aqui vai ter um nome e, em seguida, eu d. Então o que eu estou fazendo é retornar objetos com Mabel em valor em um rótulo I D e valor especialmente importante para o que é exibido na tela. Quando os nomes aparecem no médico, o osso
caiu aparece uso. O rótulo é o que aparece na compilação suspensa e quando você clica nos campos de texto, a caixa de texto, então esse seria o valor. Então você não gostaria de mudar isso de nome. Uma vez que o nome é o que se espera para ser visto em ambas as situações, no
entanto, I D mais uma vez é apenas sobre propósitos gemidos tão bem, Dr. Interface. Andi,
eu trouxe o console para que possamos ver o que está acontecendo. Então eu vou começar a digitar para não lembrar nada sobre dois personagens viagem atrevido. E então você vê isso aparecendo se eu digitar vontade. Tudo bem, então ele está procurando o nome completo para qualquer carro para seqüência. E você vê que para cada resultado bem-sucedido, nós estamos recebendo de volta aquele objeto de dados bem, alguém para realmente selecionar um e lembrar que nós temos um console que adora rastrear quando selecionamos e que estava sendo disparado lá. Vemos aqui que temos o objeto item com o rótulo, que teria sido o que é exibido quando atingiu o valor que você percebe está indo para a caixa de texto na
identificação. identificação Então, não, nós Preciso escrever para um tribunal para garantir que nosso campo escondido seja povoado com aquela Aggie. Porque se olharmos especificamente, não
há nada a mudar. Temos o campo escondido e não há valor, certo, que não é o que queremos. Portanto, queremos que quando selecionamos esse nome, o valor desse campo oculto seja atualizado. Então, de volta ao Visual Studio, vamos modificar nossa função de seleção. Então atualize o elemento em questão e o elemento em questão são ideias dos alunos. Então deixe o console, aquela longa pedreira sobre o que eu vou fazer é ver o sinal Open British peito kits abertos e
marcas de petição . Estudante I d em D. J Onde torna mais fácil para nós um conjunto de valores para que possamos apenas chamar a função da válvula. Acabamos de passar o valor que queríamos ser dito que para que possamos ver pontos de dados. Bem, desculpe nós nomeamos a consulta Saluzzi Worry pontos em. Então lembre-se que isso é realmente ser muito dedo do pé no objeto com item no item tem nome em Di Di. Então você precisa de pontos de consulta. Oi, Tim. Pontos em. Eu vou especificar I com chaves comuns, já que isso é alterado aqui. Então o seu valor naval na ideia. Então eu estou definindo o valor fora ou estudante de campo escondido. Eu d a isso eu d em. Lembre-se de que isso está acontecendo sempre que um evento seleto é acionado. Então eu entendo normalmente voltar, atualizar. E tente isso de novo em Apenas observe o valor para o campo e seu ego. Está a ser actualizado. Então, se eu disser teste, nós temos esses dois. Está sendo atualizado a cada vez. Então não, sabemos que estamos rastreando o valor do aluno que está sendo selecionado. Agora, mais
uma vez, nosso objetivo é que teremos este discurso no botão criar quando pudermos criar vemos uma atualização dinâmica e recarregar da lista de alunos atualmente
associados a essa força. Então, para não, eu vou apenas selecionar um na caixa suspensa e eu vou me inscrever,
testar estudante para isso neles com o clique criar, e então nós vemos o que acontece. Está bem, desculpa. Eu tinha um ponto de pausa naquela parte fora da quadra. Mas se formos aqui e olharmos para o objeto, você vê que estamos passando o essencial? Claro que não, não. Mas depois fizemos muito. Não, para a palestra i d e para a ganância sobre os alunos é obtê-lo para que as duas partes mais importantes deste modelo em particular estão recebendo dados. Então, se colocarmos cinco e continuarmos, então seremos reencaminhados para as inscrições nesse discurso. Agora, mais
uma vez, vamos fazer algumas modificações nesse processo completo para que ele não volte aqui sempre. E então nós temos que criar novo Nós realmente teremos uma visão parcial fora da lista alunos matriculados, atualizando cada vez que criar, ou cada vez que isso mudou, ele irá atualizar o show. Exatamente quem está matriculado na classe selecionada em Uma vez que um aluno é inserido aqui e selecionado, ele irá atualizar em tê-los dinamicamente sem se afastar deste discurso
21. Crie um formulário de JQuery/Ajax: Ei pessoal, Neste vídeo, vamos estar olhando para a implementação no formulário Ajax para ou aplicação. Agora, a razão pela qual usaríamos um formulário Ajax que é mecanismo JavaScript, é reduzir o número off recargas para nossas páginas. Não, lembre-se que quando estamos criando uma matrícula, queremos a Anamika Lee uma busca por um aluno, é por isso
que implementamos aqui, Jake, onde você é auto complete widget ou caixa de texto Andi toe agir muito disfuncional para o que vamos estar fazendo é implementar o que chamamos de um formulário Ajax agora no formulário Ajax irá realmente reduzir a necessidade de nos atualizar entre clicar ou enviar botão para lembrar que cada vez que clicamos criado realmente é configurado no controlador para navegar até a nossa lista. O que queremos fazer é permitir que o usuário entre continuamente e estagiário entre nesta página sem a necessidade de navegar e voltar. Então é aí que a forma Ajax terá uma enorme vantagem. Agora, a primeira coisa que vamos querer fazer é realmente incluir algumas bibliotecas Jeker e
vamos fazer isso através de novo get. Então vamos para o nosso projeto. Clique com o botão direito em Ir para o Money pode obter pacotes porque você não tem eles instalados. Na verdade, vamos ao Bro's e vamos procurar Jake Worry em E Juckes intrusivos para que
possamos digitar. Eu acho que você pode apenas digitar deduções apenas digitando ejects. O resultado principal é a nossa biblioteca que estamos procurando. Então Microsoft que consulta j sobre a verdade sobre rejeição intrusiva para que possamos apenas ir em frente e clique em instalar em DeLone. Você tem que fazer a coisa dele, tudo bem. E com o sucesso disso, podemos apenas confirmar na pasta Over Scripts que sabemos ter Jake onde ponto discreto. Isso é ou um pouco novos incêndios demais que esperamos ver Tarde Get completou sua instalação. A próxima coisa que queremos modificar são nossos condenados de pacote, então queremos criar um novo pacote quatro ou novos arquivos de script. Eu estou apenas duplicando este JIA Carolina chamado Jake ou Dash Ajax e em vez de
tentar re digitar este. Acabei de copiar o nome do arquivo aqui no Source Explorer e basta colá-lo para expor todo o processo de digitação depois de salvar este lyinto sobre configuração de pacote. Em seguida, queremos deixar ou página layout saber que há um novo pacote intones. Acabei de incluir de joelhos a nossa preocupação do Jake mentir. Então lembre-se, ordem importa. Enquanto estiver debaixo do geek ou da terra, então você não deve ter nenhum problema. Então Jay Curry prato Ajax é o nosso novo pacote que precisa ser renderizado. Agora podemos voltar para cima criar vista e, em seguida, vamos começar nossas modificações. Então, a primeira coisa que queremos fazer é alterar o tipo de formulário para que possamos ver que estamos usando HTML que começam forma em qualquer lugar, usando um HTM regular de formulário. O novo tipo de forma em tom é um jack atrevido Ajax aqui colocando HTML em. Estamos começando da forma Ajax. Tudo bem, então nós estamos vendo que Ajax tem um pequeno erro sobre ele e isso é principalmente porque nossa forma
Ajax realmente tem alguns parâmetros. Então vamos em frente e preencher esses mentores de parte e orientá-los passo a passo. O primeiro parâmetro é a ação post. Então a coisa é, quando o formulário Ajax se submete, ele precisa saber o que no controlador devo chamar? Tudo bem, então todos nós sabemos que o formulário do uniforme por padrão chamará a opção postar fora o que estiver no controle. Então temos que criar aqui, o que torna o formulário inicialmente ligado. Então, uma vez que você poderia enviar, ele vai automaticamente procurar a versão http post de cria Over com o formulário Ele adota e até mesmo com o formulário H M A, mas é necessário para o formulário H Ajax. Precisamos especificar que ação deve ser chamada. Então eu poderia especificar que eu quero chamar criar. Mas então eu vou modificá-lo um pouco, e eu vou criar outro, e ele vai escrever essa ação juntos. Alguém para chamar este anúncio de estudantes confundidos. Precisamos especificar qual controlador é este. Ação insulta o controlador de matrículas, e então precisamos adicionar novas opções ele Juckes, e eu vou apenas trazer a linha aqui para que possamos apenas preenchê-lo com total visão. Agora as opções são mais como propriedades desta nova classe, ou você percebe que isso está recebendo a equipe de cores citando do Visual Studio que é uma classe, então estamos apenas adicionando valores e certas propriedades que são chamadas de ações Ajax. Então, o primeiro 1 que vamos adicionar é o método http em hoje é que temos usado post , então podemos apenas significar nisso. Então ele especifica que queremos post no dedo do pé. Então podemos dizer sobre o sucesso. Desejamos fazer uma certa ação sobre eu vou chamá-lo eu fiz tudo bem, Então, após o sucesso fora desta chamada post, então queremos chamar esta função e uma outra em falha. Queremos fazer este. Existem algumas propriedades que você pode realmente implementar na seção Ajax Option . Andi,
eu anexei uma palestra documentada indicando cada uma dessas opções e como você pode aproveitá-las. A próxima coisa que queremos fazer é implementar ou nova função chamada estudantes de anúncios. Oh, bem ou nova ação chamada em alunos, e vamos apenas para o nosso controlador e eu vou adicioná-lo abaixo da
função de criação de post existente . Então, como dissemos, este vai ser um post http em já só sei no caso de este ser o primeiro ano vê-lo tentar a palavra prop on, em
seguida, pressionado para cima duas vezes. Isso só implementa nossa propriedade. Mas é uma maneira mais rápida de pular em público e ele pode apenas sentar do tipo que você deseja. Esta não é a propriedade. Claro, isso é realmente uma pessoa de telefone ligado. Então estamos criando a ação pós em estudantes no campo de golfe. Adicionar alunos vai tomar um parâmetro ou apartamento semelhante ao existente criar. Mas então você foi chamado que nós estamos esperando apenas dois valores, realmente e verdadeiramente desta forma e em palestras anteriores, eu iria ver que na verdade,
o que isso faz é cometer qualquer um em que está vindo através do campo não está listado Aqui. Em seguida, ele não será incluído no modelo acima. Então vamos usar isso. Mas então nós estamos realmente indo para o pé. Especifique exatamente o fusível que queremos, que são o curso que eu d sobre os alunos, i d Esses são os dois sente que realmente deveria estar vindo desta forma. Então, para este parlamento, entender o dedo do pé, emprestar esta pontuação rapidamente, uma vez que é muito semelhante. Exceto que eu estou indo apenas para especificar que eu quero apenas o curso que eu d sobre a
idéia dos alunos . Uma vez que nada mais está realmente sendo adicionado a partir deste formulário. Não, para esta ação, eu realmente vou fazer uma tentativa de captura. Então eu só digitar tendência em double top on. Então preencheu o resto do bloco frio para mim, e então podemos começar a preencher ou tribunal. Então eu vou seguir este padrão porque muito do tribunal que foi gerado para nós
ainda é aplicável. O estado do modelo é válido, está verificando. Há algum dado faltando? Então, entre os valores da ferramenta que estamos esperando, que são idee curso e estudante I d é ou fora deles faltando neste cenário em,
então, se ele é válido, então esperamos toe adicionar o registro no retorno. As vistas entendem de Copiar isso. E por favor que na minha tribo bloqueie. Na verdade, eu vou modificar isso. Apenas fique assim. Vou transformá-lo em um método assíncrono. Então eu só coloquei uma pia e, em seguida, tarefa e embrulhei isso tão focando nas frutas simples e mais baixas penduradas fora deste quarteirão fora da quadra. O que eu vou fazer é dizer, tentar fazer esta operação. Se sentir, então ensine essa ação. Então vamos primeiro trabalhar na peça. Isso não me parece assim. Se o estado do modelo é válido, então queremos dedo do pé. Adicione a inscrição, salve as alterações. Mas então você percebe que um tipo de retorno aqui é errado, porque o que precisamos fazer é retornar um filho G s semelhante ao buraco. Nós devolvemos. Onde está essa função? Tudo bem, então nós tivemos uma função de resultado Jason aqui em nós retornamos em objetos G. Asan. Então precisamos fazer algo semelhante para isso. Uma vez que é um resultado Jason, vamos modificar esta ação para ser um objeto Jason que está sendo retornado em. Lembre-se que com objetos Jason, você pode realmente especificar o conteúdo desses objetos para atender às suas necessidades. Então eu vou especificar nosso objeto personalizado que tem dois parâmetros. O 1º 1 vai ser o sucesso, que eu pretendia ser um ouro alguém para dizer Verdadeiro porque se o estado moderno é válido em todo este trabalho vendido, então foi um sucesso. Então eu estou passando de volta um ouro para dizer que seu sucesso é verdadeiro também, eu estou adicionando uma mensagem que eu pretendo exibir para meus usuários. Então eu vou ver que eu vou dizer que os alunos foram adicionados com sucesso e, em seguida, seguindo o padrão fora de nossa função filho G s anterior, entendeu? Para passar o comportamento de subclasse Js. Olá. Obter Parmenter para que o nosso objeto Jason esteja completo. Então deixe-me rever isso. Estamos tentando esta operação em Se o estado do modelo é válido, então vamos em frente e na inscrição nele para o banco de dados e, em seguida, retornar um status de
sucesso com uma mensagem de sucesso. Então isso vai deixar ou fazenda? Não, lembra, nós apenas implementamos isso ou formal? Não, baseado no que é devolvido que ou foi um sucesso ou um fracasso. Então temos o cenário de sucesso. Precisamos colocar no cenário de falha. Então, para nossa terra justa, nós podemos realmente apenas copiar isso porque seria uma coisa muito semelhante sobre isso seria fora desta declaração porque isso só é feito se ele é válido, e então você vai ver as pessoas virar isso ao redor. Talvez você vai virar para ver se não é válido, então retornou uma falha. Mas se for válido, então faça outras coisas. Então, cabe a você. Mas quero deixar isto como está ligado. Então, se ele é válido, então ele foi bem sucedido em. Se ele não retornar ou se isso falhar, então será cair para esta linha. Então, se for padrão para esta linha, que significa que o estado do modelo não é válido, então retornamos o status de falha Ah. Então o nosso sucesso seria, na verdade, quedas e mensagem seria lido de forma diferente. Talvez os alunos não tenham sido adicionados com sucesso. Então, se foi com sucesso, então esperamos o nosso objeto Jason. Eu tenho ah, verdadeiro para este valor e esta mensagem. Caso contrário, ele deve retornar isso no mesmo Wien. Se uma exceção é lançada ou uma exceção é capturada em vez de o que queremos fazer não é lançar porque história realmente falhas são aplicação, mas queremos lidar com isso graciosamente. Então, se você não está tão familiarizado com uma tentativa, pegar o que isso aqueles Mais uma vez ele tenta esta operação, e se toda essa operação se sente em qualquer lugar, então ele pega a exceção. Então você pode ver tudo bem, se há uma exceção ou uma seta geral que foi desaparecida para todo. Eu cuido disso? A linha faz o programa falhar. Neste cenário, não
queremos que o nosso programa falhe. Você quer que o usuário tenha o mesmo tipo de experiência que teria se fosse uma entrada inválida. Então queríamos mostrar-lhes que é assim. Podemos reutilizar. Esta é a linha de sucesso Andi ver algo diferente e, provavelmente, então eu quero dizer-lhes Toe, por favor contacte o administrador er em. Então nós provavelmente podemos colocar em detalhes fora da flecha. Você provavelmente deseja mostrar-lhes detalhes reais fora da seta, já que eles são apenas usuários finais. Mas se você é mais avançado do que você provavelmente pode colocar em como um e-mail para disparar após o administrador ou o Web master quando uma exceção é Scott para que você possa manter
a par dos acontecimentos fora do software. Agora há mais uma coisa que eu quero adicionar a esta validação antes de realmente ir em frente e adicionar um aluno em. Isso é um cheque para ver se o aluno já está matriculado em um curso específico. Então, o que estamos fazendo é permitir que alguém ou crie uma visão onde permitindo que alguém selecione um curso em seguida tipo de nome de alunos e, em seguida, clique em enviar em. Em seguida, ele vai chamar esta função passando na idéia do curso e os alunos que eu d em, em seguida,
tentar perguntar-lhes. O que não queremos é uma situação em que o mesmo aluno está sendo adicionado ao mesmo curso mais de uma vez que vamos colocar em uma validação aqui em ir para adicionar essa validação toe esta declaração. Então eu estou apenas em direita um pouco fora do tribunal, que vai consultar o nosso banco de dados. Alguém para salvar o nosso está inscrito é igual a. E então eu posso dizer DB dots inscrições. E então eu vou usar outra função de link, que é chamado qualquer que realmente apenas diz. Existe algum registro no banco de dados que atenda a condição articulo? Então, como está, e ele vai dizer, há algum registro dentro do estábulo? Então eu vou construir sobre isso qualquer função com nossas expressões Lambda que eu estou usando, também, que é nossa letra universal para expressões Lambda, e eu estou verificando se há algum curso que eu d em nossa tabela de inscrições. Esse é o curso que eu vinha. Ou modelos de matrícula. Aqui está o nosso modelo de matrícula a entrar pelo nosso perímetro. Há alguma ideia de
cavalo nesta mesa que seja igual a este desporto que tenho a certeza que seria sim por não, certo? Se você tem Internet, poucos registros e deve haver pelo menos um registro. Talvez, talvez não. Mas isso voltaria a ser verdade. Mas isso não é tudo em que estamos interessados, porque você quer saber que existe. Claro que eu seria muito. Esta Onda está no mesmo disco onde encontramos tanto? Que há um aluno que eu D. Isso é o nosso número de matrículas. Então esta linha mais uma vez, está vendo Por favor me diga se há alguma gravação minha tabela de matrículas Onde o curso i d sobre os alunos. Eu tive muito a idéia do cavalo e estudante que eu tinha vindo através disso. Jason, peça estrela esta solicitação post para esta ação neste objeto modelo. Então queremos dizer se está matriculado, então não queremos tê-los. Então este é o ditado que está matriculado. Então, eu posso apenas adicionar alterar esta condição na declaração para dizer se os estados é válido
,o , significa que ambas as propriedades que são necessárias para o formulário estão lá. Andi está matriculada, é igual a quedas. Tudo bem, então se é válido para o aluno não está matriculado, então podemos prosseguir. Portanto, se qualquer um destes avalia a não ser verdade, então deve representar que o aluno não foi bem sucedido, e nós podemos alterar. Este estudante NC já está no seu aluno A já está matriculado, por isso é bom ter mensagens descritivas para cada passo para que eles saibam exatamente o que está acontecendo e provavelmente campo branco. Em segundo lugar, alteração detecta falha do sistema Mais uma vez, você provavelmente não quer dizer aos usuários que há uma falha no sistema. Você pode encontrar uma mensagem agradável, graciosa para colocar a sua, mas eu estou apenas lhe dando os cenários como eles vêm acima em ajudá-lo a pisar. Aprecie por que temos mensagens personalizadas para cada estado. Então, mais uma vez, estamos vendo que somos covardes, essa matrícula estável para ver se há algum registro que tenha ambos o curso I D e estudante I d existente antes de nossa ação atual em. Se não é conhecido, então nós apenas dizer OK retornar que foi bem sucedido. Se há o nosso se um fora esses valores está faltando, então nós retornamos cai com uma falha em se há uma seta em fazer qualquer fora este aparecer, então nós vamos pegar a exceção e apenas retornar em Aramis. Está vendo que há uma falha sem quebrar nosso programa. Eu entendo termo nesta linha um pouco sobre Die disse desta forma para soletrar para fora para o caso você é novo para ver afiada e você não está totalmente familiarizado. Mas então nós podemos realmente apenas ver se não está inscrito. Então isso realmente avalia para a mesma coisa que estava lá. Só sei. Então, se você preferir escrever desta maneira, e esta forma parece um pouco mais curta, mas então, você sabe, como um iniciante, você pode não absorvê-lo tão rápido como eu tinha antes, mas eu sou apenas mostrando que ele pode durante qualquer maneira, então nós vamos apenas construir e garantir que nós não temos erros. Podemos executar nosso projeto. Estou sentando um ponto de interrupção aqui em nossa ação de estudante de anúncio para que possamos ver isso quando
clicarmos em enviar. Os dados estão realmente sendo passados para esta função. Então eu vou fazer um teste rápido aqui em Dustin para mudar a propriedade suspensa em que eu
não vou colocar em um estudante. Vou ver como isso se comporta, Alguém para clicar em criar. Vemos que nosso ponto de ruptura está ativo. Se eu passar o mouse sobre o meu modelo de inscrição, veremos que temos o curso em que eu voltaria. Nada voltando para os nossos alunos. Eu d Então, se eu pisou através do cordão no cara pisou até que eu cheguei às declarações em torno da pedreira e isso voltou cai porque não há nenhuma matrícula que existe com curso I d ser quatro em estudante I d ser zero em. Então eu vou continuar a passo e, em seguida, você vê que ele pulou esta declaração se completamente porque o estado modelo não é válido porque não há nenhum valor sendo fornecido para um estudante i d. que é necessário com base em nosso design. Então ele atinge nossos objetos Jason, que está retornando que há uma falha na audição fora do aluno em há uma mensagem. Isso é dele. Certo, um aluno já está matriculado. Às vezes isso pode não contar a história toda, certo? Portanto, tenha muito cuidado com a mensagem, porque neste caso não é uma falta de inscrição, mas ou não é a presença fora no existente e Roman, mas é a falta de dados válidos. Então você quer ser muito claro quando você tem essa mensagem, qualquer esperança que possamos expressar seus cinco e continuar. Depois olhamos para trás para a nossa página web e vemos que nem sequer navegamos para longe. E eu vou colocar em um aluno desta vez alguém para digitar para estudantes ou tipo de que
ainda está trabalhando. Em seguida, clique em criar em. Então, atingimos o ponto de ruptura mais uma vez. E se olharmos em nosso objeto, vemos que estamos recuperando um aluno. Eu d em curso I d em d. Eu só vou definir o ponto de ruptura para a declaração if rapidamente, primeiro de cinco em. Então estamos batendo nossa declaração if e vemos aqui desta vez o estado do modelo é verdadeiro porque ele está recebendo de volta válido para valores válidos. Para claro, I D e estudantes em também é matriculado é quedas, então não há conflito quanto a onde este bloco fora do curso deve ir depois. Se eu intervir, hum, e eu vou pular à frente da sessão do ponto de ruptura em perigo às cinco em diante. Então você vê que ele piscou na tela porque ele fez isso. Então ele fez isso porque não, fora deste campo, ele foi para esta parte de sucesso em Você viu em O estudante é para ele com sucesso como nós projetamos para ver em mais uma vez. Se algum fora desta operação falhasse, o que teria acontecido é que teria saltado para o retorno da Ilha Cat que Jason Falls também. Então eu não posso expressar um cinco e continuar e você vê que as páginas se mover Nada mudou
no campo como que é que nesta fase é bom e ruim são sobre quando eu voltar para a lista. Vejo aqui que a inscrição que acabei de fazer foi bem sucedida em Sim, vamos modificar este discurso porque como está, não
está muito claro. Temos colunas incompatíveis e dados ruins, Então isso vai ser modificado em breve, mas eu quero me concentrar no fato de que a inscrição ALS adicionado para cálculo sobre o estudante Tajiri ler na página em si não redirecionar. Eu tive que voltar manualmente para as vidas para ver. Certo, isso significa que nossos agentes Ajax Form está funcionando como pretendíamos. Então, se eu procurar por outros alunos, eu quero que ele deixe e eu poderia criar e eu vou apenas tirar meus pontos de pausa
neste momento porque eu tenho certeza que ele está funcionando. Então eu só continuar na página, não é atualizar a página não fez nada, mas então eu tenho que voltar para a lista e atualizar. Então ele vai ceder isso. Isso também foi uma inscrição bem sucedida no. Então, se eu tomar cria novamente tendo já se matriculado em Ledford em cálculo em, Eu poderia criar, você não vê nada. Nada está acontecendo, certo? Bem, nada está acontecendo visivelmente, então com nossos pontos de pausa, nós teríamos visto que ele atinge o tribunal e teria avaliado as quedas porque essa inscrição já existe e da mesma forma, se eu atualizar esta lista, então você verá que isso não está se repetindo, importa quantas vezes pudéssemos criar, então saiba que temos certeza de que nosso código funciona. O que precisamos fazer é realmente ajudar o usuário a ter certeza de que o código está funcionando porque, como eu disse no início, não
há pistas visuais aqui para dizer, Oh, foi bem sucedido ou foi um fracasso. - Não. Lembramos de volta em nossa forma que tínhamos especificado certas opções para o sucesso da ONU e fracasso, e então nós só colocamos texto aqui, mas eu não expliquei na época o que o texto significava. Então, estas são na verdade funções ou nomes de funções que devem ser chamadas quando é bem sucedido e quando há uma falha. Então, essas funções serão realmente implementadas em JavaScript. Então temos aqui o bloco de script. Eu não tenho que criar um novo. Eu só usá-lo na clara uma nova função em JavaScript. Você só diz função e você dá o nome e eu disse sobre o sucesso, Eu quero que a função adicionado para ser chamado em. Então lembre-se que estavam realmente devolvendo um objeto Jason aqui. Então este é um novo objeto que tem duas propriedades é sucesso e mensagem. Então eu vou preparar minha função para a perspectiva de obter alguma resposta da chamada do Jason. Então eu estou usando a palavra “levantar nossa resposta de recursos “, seja lá o que você quiser chamar. Então é assim que lhe estou a chamar. Então, uma vez que este terminou o processamento e ele tem o carro de volta ou a resposta,
em seguida, ele causou o telefone mostrado adicionado. Eu estou dizendo que eu sabia que eu esperava dedão no objeto em que vai corresponder com o que quer que seja que eu estou devolvendo. Então levantar aqui vai incorporar as propriedades. Sua mensagem de sucesso Andi. Então eu só vou implementar rapidamente isso em ir para colocar em uma declaração se e ver se rez encaixado é sucesso. Em seguida, queremos usar uma função de consulta judia. Então, o cifrão realmente em vigor que nerd Oracle Andi neste formulário mostrado que eu quero isso. Então renderize alguns elementos HTML. Então eu vou renderizar no elemento que eu vou chamar de sucesso. Estou chamando sucesso e
vou dizer a ele para se sentir rápido. Então essa é uma daquelas coisas de consulta da JIA. A consulta G Meeks Ciumento Krypton batida, você sabe, mais fácil e rápido de implementar. Se você fosse escrever javascript de baunilha para realizar algo assim, então provavelmente levaria Ah, pouco. Mais algumas linhas fora da quadra. CJ Korea realmente agiliza todo esse processo de obter alguma interatividade em nossa aplicação. E então eu vou apenas copiar este cabo sobre eles, não
vai implementar outra função e chamá-lo campo em centavo Justin para modificar esta declaração e ver se não, então eu quero campo para caber rapidamente. Então eu quero sobre o sucesso no Elemento chamado Desculpe em um anúncio de sucesso. Então queremos um elemento chamado Sucesso para alimentar em Andi se ele se sente em um é um elemento chamado campo Pés em. Certo, depois de adicionar esses caras, percebi que teria enganado você com algo, e vou explicar o que é depois de mostrar o tribunal. Então eu adicionei as vidas para o sucesso no campo. Andi, se lixarmos eu discreto ID um, Dave 4 campo. Andi,
eu me sentiria fora do curso para que pudéssemos mirá-lo usando a hashtag. Além disso, eu dei-lhe o alerta de classe em alerta Angel de ou bootstraps que uma caixa vermelha vai aparecer em exibição nossa seta. Então o que eu fiz aqui foi em vez de usar a mensagem vinda de nossa resposta Jason um barco ou o aluno foi adicionado ou não, e então tentando encontrar uma razão que eu apenas dei ah era atacado aqui mesmo em estática, fixo para ver lá foi um erro ao adicionar o aluno a este curso e ele pôde ver Verifique seus dados e tente novamente. Ou entre em contato com sua administração e explicar o que quer aqui em um grande
texto geral Onda também para o sucesso coloquei na mensagem estudante para ele com sucesso. Então o que vai acontecer é que no sucesso chamamos adicionado em, em
seguida, adicioná-lo vai verificar se as mensagens de sucesso realmente verdadeiras e, em seguida, renderizar esta função. Se quiséssemos adicionar o texto voltando do Jason, poderíamos apenas acrescentar o texto aqui usando JavaScript toe este elemento porque Reyes
teria levantado essa mensagem. Apenas eu me demito levantou esse sucesso, então poderíamos ter dito. Queremos o sucesso do elemento em que queremos mudar. O que queremos mudar é levantar essa mensagem. Então é assim que você realmente iria sobre encaixar a mensagem de seta real ou
mensagem de sucesso vindo da resposta filho orgia no reboque o conteúdo fora do fazer isso se você não quiser fazê-lo desta maneira onde você tem o texto estático no diff, então você pode fazê-lo desta forma onde você apenas injetar. Então, estou só a mostrar-vos os dois caminhos. Eu costumo colocar o texto estático, mas deixo isso lá para sua futura referência. - Não. Quando eu disse que eu teria enganado você, Eu tenho um pouco excesso de zelo e teria que fazer isso no fracasso é corresponde com a
resposta Jason . E isso foi em proferir. Tão infalível. Er, na verdade, significa que se a chamada para a ação sentir uma espécie de razão, significa que isso não foi bem sucedido, que
significa que isso não foi bem sucedido,fez os adultos chamarem e ele não conseguiu encontrar isso. Então, qual era a época que você quer mostrar? Então esta função seria realmente chamada se houvesse uma falha total do sistema. Ao tentar chamar a ação Post. Então é isso que mais adiante realmente significa. Então, se não estão no lado do banco de dados, a adição fora do registro foi bem sucedida. Ou se, neste caso, a maneira como escrevemos nosso aplicativo, se houvesse uma exceção tentando fazer essa operação e ela pegou nossa resposta enquanto ele está retornando uma resposta, O formulário Ajax vê isso como um chamada porque ele enviou dados e ele recebeu de volta uma resposta . Então, realmente e verdadeiramente, para facilitar este campo versus cenário de sucesso para a adição de nossas propriedades para o banco de dados adicional para armazenamento de registro, então precisamos fazer isso um pouco diferente. Então eu vou ver o fracasso aqui, certo? A Andi? Posso implementar uma função para isto,
mas não prevejo,pelo
menos para este cenário,
que a minha mãe teria uma falha total no sistema. Posso implementar uma função para isto, mas não prevejo pelo
menos para este cenário, Mas o que eu vou fazer é realmente modificar a função adicionada assim por diante sucesso. O que queremos fazer? E nós chamamos, adicionado Não adicionado, não é a razão pela qual estamos verificando para o seu sucesso é que o sucesso pode ser o verdadeiro ou falso porque nós temos de volta uma resposta e ou é verdade ou falso Então, se é verdade, então nós queremos mostrar o nosso ao vivo chamado sucesso e então eu posso ver mais assim. Significa que rez não é aumentar que o sucesso não é verdade. Então podemos chamar nossa outra função, que eu delineei campo em sua passagem no resto. Assim, da mesma forma que poderíamos ter como alvo o Dave para o sucesso e colocar no texto. Podemos mirar isso. Vou deixar isso aí para sua futura referência. Mais uma vez, eu coloquei o texto estático aqui, então eu não vou usar isso, mas sinta-se livre para experimentar. Então, para o adicionado, se isso não é bem sucedido em
realmente, na verdade, eu não tenho que fazer para se declarações. Então, se não for bem sucedido, então eu quero chamar “sentir”. Há alguém para derrubar aquele quarteirão fora da quadra. Então o que eu quero fazer é passar. Isso é chamado de disfunção? De são como seção, então ou é bem sucedido. Andi foi adicionado e é um sucesso ou um dedo do pé falhou. Adicionar que é o banco de dados e então nós vamos exibir hashtag campo diff, que é um vivo com perigo de alerta. Então, se foi bem sucedido do que vemos alerta de sucesso, e é aqui que você começa a ver um todo. Bootstrap torna mais fácil para ele exibir bizarro para orientar os usuários com muito pouco esforço. Então, mais uma vez, não falhar A realmente significa que se ele tentou fazer a postagem chamada para esta ação em, eles não conseguiram encontrar a ação pode ser renomeada. É que realmente não poderia se comunicar com o servidor. Então é quando você chama o fracasso para que você possa implementar outro filho Fung. Quatro. Fracasso. Tudo bem, tudo bem. Então, de volta no modo de depuração, vamos testar a teoria de que ou frio funciona assim mais uma vez em uma adição bem-sucedida fora na inscrição, e esperamos que vamos ver, dar, aparecer no feed, insultar a animação, e você pode ajustar a velocidade em. Você pode apenas verificar a documentação de preocupação geek para ver as diferentes opções de velocidade. Você pode dizer lento, rápido, e eu acho que você pode dizer médio. Eu não tenho certeza se o médio alcance em da mesma maneira. Se ele se sente, então esperamos ver um dar vermelho para exibir ou falhar de modo que vamos apenas tentar que alguém para tentar o cenário falhou primeiro Então eu vou apenas clicar,
criar e, obviamente, isso deve se sentir em. Lá vamos nós. Por isso, alimenta-o. Houve um erro, adicionando o aluno a este curso porque temos um curso que eu d em. Não especificamos um aluno. Então eu vou tentar adicionar à esquerda para dois. Vamos ver uma rede de aceleração, validação da
NBC. E então poderíamos criar. Lá vamos nós. Então vemos um pouco de “*** “no nosso canto. Onde temos que fazer é ser exibidos simultaneamente, o que não é necessariamente o que queremos. Andi, você sabe, não
é o ideal. Então vamos modificar um pouco a nossa corte. Então eu vou dizer Tudo bem, então a modificação, quero dizer, é dizer que se algo está nisso com sucesso, então nós queremos desaparecer, falhou ou você poderia apenas dizer, então a modificação,
quero dizer,
é dizer que se algo está nisso com sucesso,
então nós queremos desaparecer,
falhou ou você poderia apenas dizer,
exibir Toe cai. Você quer fazer isso? Quero dizer, havia muitas maneiras de fazer isso. Então, estamos apenas vendo desaparecer rapidamente no feed no sucesso em Se ele falhar, então nós queremos desvanecer isso rapidamente. Você só quer saber que quando sentir que você não está vendo o sucessivo e vice-versa. Então, como podemos ver mais mudanças aqui, em
seguida, tente isso novamente. Então eu vou tentar criar este campo, Tudo bem, então eu vou tentar adicionar a mineração de dados no Lá vamos nós, então ele está exibindo apenas um de cada vez. Então, se eu remover isso ao recriar, então você vê que ele substitui a seta com o sucesso e vice-versa. Então, nós essencialmente adicionamos a forma do Egito e adicionamos uma boa limpeza. Nós falamos muito, as pessoas pisam, adicionamos alunos e os matriculamos em nossa classe. No entanto, tanto
quanto temos feito um pouco fora do trabalho aqui, o trabalho ainda não está terminado porque ainda queremos maneira mais interativa para eles para manter o caminhão fora. Quem está em que curso significa para ver quem foi adicionado. Temos que voltar à nossa lista de matrículas aqui. Nós temos que olhar, então nós não vemos o curso, mas então tudo está misturado. Sim, podemos fazer algumas modificações na pedreira para torná-lo ordenado pelo estilo do tribunal e assim por diante, mas ainda está meio misturado no próximo vídeo. O que vamos fazer é modificar o seu, então modifique nossos rótulos fora do curso. Nós também vamos modificar todo este criativo você que, com base no curso que é selecionado, vamos ver uma tabela abaixo com todos os alunos nesse curso em. Quando alterarmos
isso, ele atualizará essa exibição ou aquela parte dessa exibição em mostrará somente os alunos em relação
aos quais cursos selecionados neste menu suspenso. Além disso, quando adicionamos um aluno com sucesso, esperamos vê-los refletidos nessa lista imediatamente.
22. Visão parcial e atualização de dados: há em nosso último vídeo, nós completamos nossa criação fora no formulário Ajax que eu carregue-nos toe mais dinamicamente, enviar matrículas de estudantes para cada curso em fez. Neste vídeo, vamos continuar adicionando atualização automática para cada forma de missão. Então, o que acontece certo? Não é que obtemos uma sugestão visual cada vez que um aluno é bem-sucedido ou não, adicionado
com sucesso ,
No entanto, não
sabemos quem é adicionado porque não há lista aqui para visualização. Teria que voltar para a lista em ver as inscrições cada vez que queremos, evitar. E então o que nós vamos estar fazendo é melhorar sobre a forma atual de tal forma que cada vez que um aluno é adicionado com sucesso, ganância será não aqui mostrando a lista de alunos e ele irá atualizar. Além disso, estaremos analisando o conceito fora de formas parciais. A primeira modificação que vamos fazer é mudar os rótulos fora ou controles aqui
sobre formulário no estúdio visual, eu adicionei aula de teatro Amita para a tabela de inscrição em. Fizemos isso em uma palestra anterior, então eu fiz isso desta vez para a tabela de inscrições. Mas você notaria que eu fiz no rebocador de atributo de dados para os IDs. No entanto, em nossa página, eles ainda disseram idéia Estudantes e curso que eu tão longa história resumida, o nome de exibição. Realmente não funciona para as idéias, mas isso não é problema, porque nós sempre podemos apenas ir para a nossa visão. Esse é o nosso “tu “criativo, e podemos mudar esses manuais. Eu vou deixar a citação original lá, e eu vou re digitá-lo. Então eu vou dizer rótulo em, digamos, quatro sobre a vantagem deste rótulo para como você percebe, este é um rótulo quatro elemento, e ele está apontando para o curso que eu d. Então realmente e verdadeiramente o que este rótulo e quatro atributos aqui faz no HTML original. É aloes que quando você clica no rótulo, ele destaca automaticamente qualquer elemento que está sendo alvo? Assim, o lado rótulo 44 ele apenas destaca ou lista suspensa com o cavalo i D. Como seu i. D. Próximo dentro deste mesmo rótulo, outros classe e sob Skopje e paz, as classes bootstrap que foram originalmente gerados com o nosso controle cócegas que esse sinal porque este é apenas HTML puro. Esta não é a nossa navalha, por isso temos etiqueta para a pobre Saidi. Demos a ele as aulas de alça de inicialização e depois o texto manual que eu gostaria de digitar
seu curso . Então eu posso apenas remover esta linha e eu vou repetir isso para o nome do aluno em Não, que nós completamos que podemos mudar o dedo do pé de texto botão, talvez se inscrever e, em seguida, mudou a classe botão para Bt e sucesso. Então, temos um botão verde em entender para salvar DTN bloco traço. Tudo bem, então você pode ser criativo fora do curso. Não, como dissemos no início, a expectativa é que cada vez que enganamos nosso envio em ser uma resposta bem sucedida de ou Jason são controlador cada vez que um aluno está nele com sucesso, então esperamos que há vai ser uma atualização. Então o que estamos prestes a fazer é criar uma visão parcial que vai lidar com o dedo do pé, exibindo
apenas os alunos que estão em regras. Agora, o conceito de uma visão parcial é que você quer uma visão dentro de alguns em. Deixe-me colocar isso em hábitos de perspectiva. Então lembrem-se que temos uma demissão. Pêssego e na página Leo nós realmente renderizar uma visão. Então, uma vista é uma parte fora do campo de Julio. Bem, uma visão parcial é realmente projetada para ser uma parte, muitas vezes vista existente. Então temos essa visão. O que queremos fazer é criar outros muitos de vocês dentro desta visão que é o único responsável por carregar uma informação de partículas, que seriam as inscrições em. Então vamos definir que, quando mudarmos o valor na lista suspensa, esse ótimo será atualizado automaticamente, assim como cada vez que enviarmos uma inscrição para o curso e os alunos que essa ganância atualizará. E então os novos dados foram fazer mais uma modificação aqui, como eu gostaria do meu segundo grau abaixo do meu formulário. Então eu só coloquei em ah, regra
horizontal. Só para termos uma pequena linha para mostrar. Então eu vou criar uma div e eu vou dar isso diferente. Desliguei-me de dados. Então, dados ou dados Dave vai armazenar sobre visão parcial em seguida. Queremos realmente criar essa exibição parcial, então seguimos o mesmo procedimento que fizemos na primeira parte quando estamos criando exibições onde
clicamos botão direito ou na pasta Inscrições e vamos em frente e clique. Adicionar em você Graças a querer dar-lhe um nome, alguém para chamar este inscrições nosso show sobre o uso do sublinhado. A frente é só a convenção de nomes. Algumas pessoas criariam uma pasta para os shows par. Eu só uso um sublinhado para descrever sempre que eu tenho uma visão parcial sobre. Esse é um padrão que você pode ver em outros lugares. Em seguida, eu quero selecionar um modelo, para que o modelo seja que tipo de página você deseja? E nós realmente queremos uma lista porque queremos uma lista dos alunos que estão matriculados. Então eu apenas ciclista no modelo que deve cobrir e isso é matrícula. Eles veriam que já tem esse clique, mas originalmente pode ser parecido com isso, mas uma vez que você clica em nos criar parcial, você vê que ele fica em branco fora da página de layout porque o duro de você está realmente indo herdam todos os seus scripts e estrelas e tudo isso de qualquer ponto de vista em que está sendo renderizado, que inerentemente está herdando isso da Littlepage, modo que automaticamente ficará ótimo. E depois clicamos. Adicionar Tudo bem,
Então, se vamos dar uma olhada rápida no resultado, você vai ver que ele se parece exatamente com nossos espíritos índice. Se eu for para o índice e eu carregá-lo, você pode quase segurá-los lado a lado e ver que eles são praticamente idênticos. Então, essencialmente, o modelo de lista fornece tudo o que aparece em sua página de índice ou páginas de índice realmente usando esse modelo de lista. Então vamos modificar isso um pouco. Temos uma mesa. Sim, Onda, podemos deixar a ganância, podemos deixar o título do curso. E você percebe que você tem curso que títulos fora do curso é a entidade que está incluída na inscrição no. Mas a razão pela qual eu disse incluído é que se dermos uma olhada em nosso controlador de índice vai ver tipo de o que está acontecendo aqui. Então, quando nós carregamos de inscrições ira em, nós executamos que onde você vê que há uma parte dele é que inclui, e inclui cada entidade que é necessário ou mais tarde. Então isso é chamado de carregamento ansioso onde você está vendo, eu estou trazendo de volta cada registro aqui em, em seguida, basta incluir os dados correspondentes ou relacionados para cada chave estrangeira grave. Chame de nossas mesas românticas cheias de chaves estrangeiras. Nesse placar. Saidi aluno I D e palestra i d. Então, onde ver trazer de volta todas as informações resultantes para o curso correspondente . Eu d estudante i d e palestrante i d. E assim, em nossa opinião, era realmente apenas um Lowe para ver modelo que representa o ponto de matrícula qualquer entidade não qualquer propriedade fora dessa entidade para que eu possa deixar o título do curso ligado. Você vê que o aluno com o sobrenome está voltando? Nós não queremos necessariamente apenas a última coisa seria no sobrenome vírgula, primeiro nome ou o nome completo. Então estes são realmente apenas os cabeçalhos da tabela, como teria visto quando olhamos para as inscrições a seguir. E é por isso que parece assim. Então nós começamos a modificar tudo isso essencialmente sobre estes ar, apenas o nome de exibição para tão ceder. Verdadeiramente, o que está sendo exibido quando este é renderizado é realmente apenas qualquer meta tags são
nome de exibição que tínhamos colocado sobre a propriedade correspondente em nossa classe meta eu só estou destinado a fazer
algumas modificações como ele se relaciona com o que nós Preciso ver. Então nós definitivamente queremos ver a ganância e a força. Nome de estudante da Tailândia. Eu não quero esse sobrenome de estudante rendido apenas. Vá. Então eu vou pegar este velho e eu vou dizer o nome do aluno porque eu vou ser um renderização valores que são seus nomes completos. Eu também não preciso ver letras, primeiro nome ou qualquer coisa com o palestrante, certo? Não, em. Nós provavelmente podemos apenas renderizar isso uma vez para que eu possa tirar isso da mesa. Deve ter esses três batedores de mesa em um em branco eu posso desviar a ação porque talvez queira completar uma ação. Você percebe que esta coluna está reservada para esses botões? O que temos lá. Então, para cada rolo voltando em nossas matrículas em eu estou indo, eu preciso da nota. Então eu deixo que eu preciso do título do curso. Deixo isso no dia. Não preciso dos alunos. Sobrenome. O que eu realmente preciso é o nome completo do aluno, então eu posso apenas replicar isso. Certo? Então esta é uma exibição para frente realmente renderizando qualquer valor que está lá e fora para o mar. Estudante em primeiro nome no estudante de espaço, esse sobrenome. E se você quiser embrulhar tudo isso em uma etiqueta p ou outra coisa, você pode fazer isso. Removemos a coluna, Cabeça para os palestrantes, primeiro nome ou a informação da palestra. Eu só removo isso tudo junto para as ações. Bem, eu só queria a habilidade de apagar na matrícula, alguém para pegar isso. Por isso, se precisares de ter outros, tudo bem. Então, vamos modificar isso também para ter certeza de que quando podemos excluir não precisamos
navegar para longe da página apenas realmente remove esse registro de inscrição e atualiza a grade de acordo. Agora podemos ver se muda carne ou ação em outra coisa. Podemos remover isso porque eu não quero a capacidade de criar já na tela de criação . Então não precisamos alugar um link para a criação. Não, que completamos a vista. Precisamos realmente adicionar a ação para essa exibição parcial em seu controle. Portanto, lembre-se que nenhuma visão se envolve a menos que uma ação correspondente esteja presente. Portanto, precisamos dar a esta ação o nome do mesmo nome que as vistas parciais. Entenda a cópia que a partir do compartilhamento de histórico do Explorer solução não perca o tipo, e eu vou colocá-lo imediatamente após o índice. Então eles estão indo para suas poucas diferenças em você pode ver isso feito desta maneira. Você pode ver as pessoas fazerem. Está usando resultados de ação. É o mesmo. Portanto, há muitas maneiras de fazer isso. Vou mostrar-lhe com parcial o resultado porque eu gosto de ver o que é uma visão parcial sobre o que é um ato sobre a energia do boi estão cheios de você, mesmo do meu lado controlador. Então eu vou dizer resultados de visão parcial, notas
Andi. Eu não estou fazendo este um síncrono porque pelo menos nesta versão fora da NBC, eles não suportam uma visão parcial síncrona. Então tenha muito cuidado com isso. Então eu estou tornando público parcial de seus resultados, dando o mesmo nome e então dentro disso eu vou estar retornando parcial agora. O trabalho ainda não está feito, porque lembre-se que nossa visão parcial requer dados que ele está procurando em Eu conhecia Maribel objeto,
um, um, coleção de tipos de objetos de inscrição. Então isso significa que antes de eu poder retornar eu preciso devolvê-lo com alguns dados. Então, da mesma forma com o índice que tem o mesmo padrão de lista. Eles carregamos dados e, em seguida, retornamos esses dados para a vista. Precisamos seguir um padrão semelhante aqui, então eu vou ver o vire em uma linha Elements. E eu posso fazer isso porque em romances locais para esta função, então não vai interferir com as inscrições verbais sobre. Vou dizer DVD dot no Rolling. Mas então lembre-se que, em nossa visão parcial, precisamos de detalhes para o curso, e precisamos de detalhes para o aluno. Então eu vou pegar emprestado este tribunal aqui do Index que inclui curso baseado no registro
relacionado sobre estudantes, e eu vou seguir esse padrão aqui. Andi, carregue-os. Sei que já fiz a minha preocupação. Vou devolver a vista parcial com as inscrições. Será que eu acabei de dizer para listar ou próximo item de ação seria adicionar um parâmetro para excesso de ação para que o perímetro servirá o propósito fora de seguir-nos para filtrar em quaisquer valores no perímetro Tome, por exemplo, o detalhes. Na verdade, estamos recebendo um I d on, em
seguida, verifica se a idéia é Null Shore. Mas então o que ele realmente quer que o i d para é apenas encontrar aquele disco. Então precisamos adicionar um mecanismo de filtragem semelhante, seguir nossa ação com base nas idéias do curso, então eu posso apenas adicionar int sobre isso, torná-lo conhecido. Então é assim que você torna infalível apenas colocando esse ponto de interrogação, sugere
que um valor nulo é aceitável entrar. Quando você for chamado nesta ação em, vamos ver um curso. Eu faço. Há para que saibamos exatamente qual ideia está sendo referida. A próxima coisa que queremos fazer é começar o coro porque, certo? Não, estamos trazendo de volta as matrículas, todas as matrículas. Então queremos filtrar o discurso. Então, eu só vou injetar esse tribunal aqui,
e eu vou quebrar a linha dele para que possamos ver exatamente o que está acontecendo então
você pode realmente fazer isso sem causar nenhum erro e entender que ponto estava em Então, eu só vou injetar esse tribunal aqui, e eu vou quebrar a linha dele para que possamos ver exatamente o que está acontecendo então você pode realmente fazer isso sem causar nenhum erro e entender que ponto estava em adicionando em um filtro. Então este sou eu adicionando uma expressão de madeira. Se o meu estava perto de dizer que estamos que ancorado curso I d é equivalente ao
idee curso parâmetro . Então, fazer isso vai realmente muito que esta visão pode ser renderizada sem qualquer idéia de curso. E, claro, uma consulta como essa onde isso é zero e sabemos que não temos cavalo. Isso é não,
na verdade,
Onda,não
temos cavalo. Isso é não,
na verdade, Onda, Onda, I deixando não vai realmente retornar em vazio, dedo do pé
alugado ou vista parcial. Então, se você quisesse que isso fosse um pouco mais amigável, poderíamos adicionar em se declaração nesta parcial para dizer se modelo sendo a nossa lista em que podemos dizer que contar 18. O número de itens voltando nesta lista é menos de uma polegada por função, por isso modelo casa é menor do que um. Então podemos ver o Brendan. Cada um falou para dizer sem inscrições neste curso para que isso possa se aplicar se
voltarmos um conjunto vazio. Porque lembre-se que mesmo se voltarmos, é
claro, eu d. Hum, se este curso não tem inscrições como ele, então queremos que eles saibam que não há atualmente nem inscrições neste curso em. Podemos colocar isso em uma classe bootstrap, talvez traço de texto, mas podemos centralizar aliado com certeza, e podemos ver que leva traço em quatro. Certo, então vamos receber esse belo texto azul que você costumava saber que não há matrículas
nesta aula e então podemos embrulhar o resto deste discurso para dizer que isso não avalia. Verdadeiro. Então queremos imprimir todos os serviços da tabela. Isso, além do sinal inferior,
desmoronou tudo como o calor que estou em partes . Lá vamos nós. Assim, a tabela é renderizada quando a lista não está vazia. Certo, então saibam que testamos que a teoria era que as cargas parciais iriam remover esta linha porque não queremos que este dedo interfira com o nosso carro Ajax. Então, o que queremos fazer é certificar-se de que na página Senhor, ou foram selecionados valor de ou lista suspensa é renderizado ou se acostumar para renderizar a exibição
parcial. Então, quando temos esse problema, na verdade é apenas chamar a ação em branco sem permissão er e então vamos sempre ter que Não há nenhuma inscrição porque estávamos passando e não então eu posso apenas através disso são por agora. Vou entrar em conversações para mais referências, mas depois vamos começar a escrever um trabalho. JavaScript, RJ Query. Ele assaltou a escola tão rápido e fácil. Muito à direita, Jake, preocupar-se quando carregamos uma página é apenas o início das funções da pedreira G. Então sabemos que o padrão é sinais de dólar abrir e fechar parênteses em, em seguida, na
saída aberta uma em função. Andi, abra e feche tudo para que possamos enganar. Tudo começa e pára. E eu gosto de ver minha cinta encaracolada e meus pais disseram um ao outro em, em seguida, dentro desta função, a primeira coisa que eu quero fazer é saber o que o curso i d. que o valor selecionado deste curso eu caí honesto. Então eu vou obter esse valor a partir deste controle, direcionando-o usando sua idéia. Então, signo do dólar, abra a cinta. Nós vamos fazer algumas artes onda hashtag cavalo que eu d em. Então eu vou ver um ponto Val em que realmente me recebe o valor que está atualmente selecionado em . Eu só vou colocar isso dentro de um divórcio muito atrevido Vier. Ver ideia. Este gráfico de força. Tudo bem. Até agora, sociedade está recebendo o valor idee curso selecionado atualmente próximo. Bem, fazendo uma chamada Ajax, e vai parecer semelhante a isso, mas eu vou colocar em alguns parâmetros e opções diferentes. Eu vou explicar enquanto eu for junto. Então eu comecei o Egito escola sinal de dólar ponto Ajax. Só estou enchendo as outras partes em impostos. E então colocamos nossas opções para a primeira opção é a garota. Então eu poderia escrever o Você é assim, mas vou escrever de uma maneira diferente. Só assim você tem exposição a todas as suas opções alguém para escrever assinado você está mais eu estou usando em cada equipe Ill função auxiliar euro dot ação. Certo, então você vê que há maneiras diferentes de abordar isso. Não há ninguém que conhecemos sempre em pedra. Então você vê, padrões
diferentes estão no lugar. Eu quero te mostrar. O que quer dizer? Estás a ver a fazer uma pesquisa? Tudo bem. E então temos matrícula parcial no mesmo. Estávamos sobre a questão da ação com a ação e o controlador. Vou reescrevê-lo da mesma forma. A próxima opção que queremos é o tipo de dados. Agora nossa data que eu tenho desta vez não será Jesus em, mas sim vamos usar HTML. Então você tem diferentes tipos de dados de diferentes situações na situação. Estamos carregando dados HTML, então eu quero o tipo de dados dois b html em Nessa nota, eu apenas adicionar conteúdo. Digite em. Eu só me sinto naquele conjunto de caracteres sentado para HTML. Certo, então somos tipos de conteúdo de assinatura. Deve ser fora do tipo moinho problema com charset utf ele tomou. Basta preencher isso. Além disso, eu não acho que um é absolutamente necessário, mas é uma boa prática. Apenas dedo do pé. Certifique-se de que o Carter em que Carter está sentado está sendo retornado. Vamos definir o tipo para ser “get”. Como não estamos publicando dados no momento, estamos obtendo dados e
lembramos suas vírgulas após cada opção à medida que avançamos e então
temos dados. Então, é claro, precisamos passar dados aqui porque nossa ação está esperando alguma forma de dados tanto quanto
possível antes de dar, porque colocamos um parâmetro notável lá. Mas espera-se que passemos dados para obter o resultado real. Então precisamos dizer idee cavalo, Uma vez que esse é o nome do parâmetro está esperando em. Então passaremos nosso valor local, que é C I d. que é C I d. Então eu não dei a isso a idéia do nome cavalo, porque então você quer dizer ficar confuso. Se você tiver curso eu chamaria no curso. Eu decidi que este um c i d apenas dizer poderia ver claramente que este é para responder no lado
esquerdo é correspondente com o apartamento que é esperado e no lado direito corresponde com qualquer valor que estavam passando para isso. E depois dos dados, temos sucesso. Então precisamos definir uma função que é chamada quando um sucesso chamado de seu feito. E quando uma chamada bem-sucedida é feita, espera-se que recuperemos alguma forma de dados no formulário desta lista. Então eu vou dizer dados sobre nesta função, nós vamos preencher nossos dados, dar com nossos dados bem. Então nós estamos realmente chamando ou visão parcial, e nós vamos apenas ver dentro de fora os dados profundos. Deseja carregar essa exibição parcial com esses dados. Então eu vou colocar em algumas animações para que possamos ver esperança. Horrível. Jake, preocupação é mesmo. E como é fácil fazer um bom aplicativo interativo. Então dados hashtag direcionando o elemento por seu i d em d eu vou dizer, desaparecer. Então isso vai torná-lo realmente tipo fora casaco em branco. E você pode reforçar isso adicionando a velocidade ou a direita, então lembre-se que nós desaparecemos mais cedo. Eles poderiam colocar em uma estrela distante água mais lenta, um desejo rápido. Mas eu queria desaparecer. E então eu vou para Lord the HTML área, este conteúdo vindo de Ardito. E depois que estiver carregada, queria alimentar os dedos. Tudo bem, então isso vai realmente ser chamado uma vez as páginas, Senhor que tão tradicionalmente com nerd onde você veria algo como documento de sinal de dólar que já o que significa ou as páginas não carregadas. O burro não está pronto para interagir com javascript. Mas por um curto período de tempo, ele pode escrever assim. Tudo bem, então isso deve ser executado quando a página for carregada. Então eu estou indo para Debo rapidamente, e eu definir um ponto de interrupção no meu controlador para que possamos ver quando ele é chamado em que corpo é passado para ele. Ok, então, não, nós vamos assar o r criar paciente e nós vamos assistir como estúdio visual. É o nosso ponto de ruptura, e vemos que o curso que eu d está realmente sendo passado para nossa visão parcial sobre o resultado
final de tudo isso deve ser que as pedreiras correm contra o número dois I d. Então apenas as inscrições para voltar e voila Lá. Vemos que estamos rodando um filtro. Baseado no curso selecionado, só
estamos vendo os alunos fora do curso. Não falamos de nada quando esse valor muda. Então essa é a nossa próxima missão. Onde quando ele muda, ele deve realmente recarregar. Saiba que o que precisamos em nosso drop down é um evento de mudança. Então, Jake, onde torna tão fácil criar o evento de mudança só para ver que fizemos um evento de
mudança aqui da mesma forma que fizemos um evento aqui em nossa caixa de texto. Fizemos um auto completo. Por isso, é um padrão semelhante quando queremos mudança lista suspensa. Então, para fazer isso, podemos apenas segmentar ou elementos. Então só dizemos “cifrão”. Sabemos que estamos lidando com o curso que eu d como nossos elementos. Em seguida, colocamos o evento de mudança e, em seguida, dentro do evento de mudança e só quero colocar um ponto-e-vírgula no final ao mesmo tempo que temos uma função em. Então, nesta função, o que precisamos fazer é tirar o valor atual das ideias do curso. Então nós podemos realmente apenas replicar isso onde nós apenas obter C ID sobre o valor atual ligado. Pior. Mais uma vez, este é o seu próprio bloco. Este é o seu próprio bloco, então o CI DS não vai interferir um com o outro. Muito bem, então temos de repetir este quarteirão fora da quadra. Agora há um princípio na programação que diz “não se repita”. É um acrónimo que soletra seco. E o princípio é que se você tem um bloco fora da quadra que pode fazer algo e é suposto ser versátil o suficiente para operar em diferentes cenários, então você não deve tê-lo em todo o lugar. Então, para não, eu vou apenas copiar e colar. Mas o que pretendemos fazer é colocar este bloco fora de bordo em sua própria função. Então podemos chamá-lo de vários lugares sem ter tudo isso repetido. Mas para não, só
vou repetir. Nós apenas testamos que o evento sobre clique funciona. Agora, neste ponto para mim quer ir em frente e testar? E se você fizer isso, você pode perceber que não está funcionando. E isso é porque estamos invocando. O nerd esteve aqui, mas não vamos colocar dentro de um Jake. Estamos bloqueados pelo Jake. Estamos bloqueados. Quero dizer, isto funciona. Lembra-se disso? Eu disse que toda vez que começamos com o inquérito G, você pode ver algo assim com documentos de cifrão já, ou você vê isso, que é uma abreviação. Então, qualquer disco Jiko que você está prestes a escrever precisa ir dentro daquele bloco. Então o Ajax, o evento, tudo isso precisa estar dentro daquele quarteirão. Segundo, corta isto. Eu posso começar outro bloco porque aqui está um bloco para si mesmo. Este é apenas o padrão, Jake. Muito arrependido. Função Javascript. Estas são funções de dólares. O que é isso? Bloco da pedreira J. E este é um bloco de desgaste nerd alguém para colocar isso aqui dentro. E, na verdade, você poderia simplesmente mesclar tudo isso em um. Então esse Jake, nós somos bloco de funções realmente termina aqui. E qualquer outro núcleo da pedreira G que queiramos colocar. Poderíamos apenas ter certeza de que é uma espécie de auto-contido. Tudo bem, então eu estou colocando em meu curso eu d em mudança. Bloqueio de função ligado. É um pouco autônomo para qualquer outra coisa que está dentro deste bloco. E eu apenas alinho tudo para que possamos ver onde tudo começa e pára. Ninguém. Tentamos desmascarar isso, veremos uma melhoria no comportamento de nossa aplicação. Onde quando alteramos a lista suspensa as grandes recargas. Ok. Não. Com a nossa página carregada, vou proceder à mudança, e depois veremos o que acontece. Então eu deixei meus pontos de pausa na opção quando eu mudo o cálculo. Veja, ele chega ao leilão, e estamos recebendo um novo curso então a filtragem deve trazer de volta apenas pessoas matriculadas em cálculo sobre o Desafio trazer de volta inveja. Ver programação Donna Tordella. Acho que aquele estava vazio. Em seguida, vemos a nossa declaração se está trabalhando sem inscrições neste curso e podemos ir em frente e apenas certificar-se de que tudo funciona. Então eu só adicionei Ledford sobre o aluno matriculado em Será que nós ainda temos mais um? Apenas mentum-lo porque isso isso não recarrega. Hum, se mudarmos seu que eu apenas removo meus pontos de pausa aqui em mudá-lo de volta para
programação Java . Então vemos isso e deixamos para ele foi matriculado. Então o que precisamos acontecer é que quando clicamos neste ponto nesta ganância realmente recarregue quando ocorre uma inscrição bem-sucedida. Então eu não vou sair do modo de depuração. Eu só vou para a minha criação em verdade e realmente, eu só preciso de mais algumas linhas fora do tribunal para atender esse trabalho. Não, o primeiro ajuste que vou fazer é repetir é reduzir a repetição que está em
todo o lugar. Então vemos que estamos repetindo este bloco fora da quadra aqui que está carregando, argumentou Andi, onde eu sei onde ameaçou repeti-lo mais uma vez, Então eu vou criar uma função mais uma vez porque eu vou estar fazendo algo que é um carreira como disfunção precisa estar dentro de si ou Jake ou bloquear alguém para criar uma função. Tudo bem, aqui. E vou chamar de Lorde e Rolince. Quero dizer, você pode criar a função e chamá-la do que você percebe, e ela deve receber uma parte dela. Um parâmetro chamado C I d tirano andan. Dentro desta função, eu vou tirar todo este quarteirão fora, centrado no lugar. É assim que temos nossos altos e outros inventam. Então nós temos C i D, que é esperado para ser passado em qualquer momento isso é chamado em. Isto vai lidar com a nossa recarga. Então isso significa que quando as páginas carregadas, nós apenas substituímos logístico este alimento fora da carga da página. Então eu preciso ter certeza que eu faço uma função chamada aqui primeira coisa na minha preocupação Jake para que
uma vez que as páginas carregadas, isso será executado primeiro e eu estou passando em C i. D, que está sendo o segundo da lista suspensa, e essa é a primeira referência a ele na segunda referência a ele seria dentro da minha função de
mudança para o descartado sobre isso eu posso apenas remover tudo isso e substituí-lo por uma linha carregar inscrições em Mais uma vez, temos o C I d. Saber o que realmente queremos abordar é recarregar depois de uma edição bem-sucedida. Então eu vou apenas copiar essas duas linhas. Andi, se você se lembra sobre o tribunal que lida com as adições bem-sucedidas é a nossa
função de sucesso da ONU . Então nós apenas olhar para adicionado em Vemos o ano em que temos um bem morto e os resultados sucesso. Então, se for bem sucedido, então queremos recarregar. Então tivemos espera para alimentar os segundos da grelha. Ter o tribunal por baixo de tudo isso e por baixo Este esboço comentado aqui nós apenas acrescentamos que estamos recebendo o curso i d. e estamos passando para o telefone mostrado Andi então isso deve tomar cuidado em chamar o Senhor inscrições sempre que quisermos que as inscrições sobre ganância sejam atualizadas. Então eu ainda estou no modo de depuração. Eu só vou salvar esses ajustes e, em seguida, foi toe recarregar minha página. E lembre-se na página Senhor sua carga Sigrid no drop down down esta mudança, ele carrega a grade no momento da inscrição e eu apenas colocar em uma inscrição. Então isso não funcionou por causa de problemas de escopo foram nossa função adicionado, que é o que é chamado em uma operação bem-sucedida de onde formulário Ajax está fora. Fora da escola por causa disso Jake foi bloqueado. O engraçado é que, se adicionarmos à escola fora do bloco quadrado
, a forma Ajax não será capaz de detectá-lo. Então isso nos coloca em uma posição estranha onde teremos que repetir o tribunal , pelo
menos para não, só para fazer isso funcionar. Então eu só reproduzo isso. Notei que ex-Sun acrescentou, está invocando seu próprio Duque ou bloco. Isso é para que pudéssemos usar a consulta do DEA aqui. Tudo bem, então eu só vou para ir tetas lá em cima dentro desta função de consulta em. Deveríamos ver uma melhoria no nosso comportamento. Tudo bem. Alguém para tentar adicionar um aluno também deve abrir para ver nítido. E lá vemos que realmente obtemos essa recarga e que o aluno é adicionado em tempo real. Tudo bem. E então, se tentarmos adicionar novamente, então recebemos nossa mensagem de erro. E se trocarmos. Vemos que nossa filtragem funciona. Então é assim que você pode desenvolver uma forma interativa agradável e experiência para seus usuários. Andi aliviando. Eles precisam navegar entre telas. Então eu vou desafiar você, dedo do pé, na verdade adicionar comportamento semelhante. Toe a ação de elite. Eu vou fazer isso e vou verificar no tribunal para que você tenha uma referência. Mas eu quero que você, na verdade, tente e faça isso baseado em tudo o que você aprendeu até. Não. Você também notará que, navegando entre essas seleções ruins, essa mensagem de erro não desaparece. Então, essas são algumas coisas de limpeza que você provavelmente quer fazer em sua página. Onde no evento de alteração, você provavelmente definiu essas telas para saber. Então eu vou apenas copiar isso rapidamente e olhar para o meu evento on change, que é medo e eu vou ver na mudança. Quero alimentar qualquer coisa que esteja sob a tela. Então, se houver alguma coisa na tela, basta alimentá-lo em Se eu tentar isso novamente, terei que atualizar apenas para ter certeza que está funcionando alguém para invocar uma seta E então se eu me mover para outra página, você vê que ele desaparece e tudo recarrega por que está bem, tudo bem.