Capítulo 7 A implementação da página de login do usuário BLOG do Doking
concluiu o registro do usuário. Os usuários agora podem fazer login no site e postar notas e responder às notas.
Login do usuário, após a verificação estar correta, a página muda para a aparência após o login do usuário.
(1) Abra o modelo bkblog.dwt.aspx, insira a tabela yhtab na coluna da esquerda e projete-a conforme mostrado no círculo preto na Figura 7-1.
(2) Insira o conjunto de dados yhlog sobre a consulta da tabela YH para verificar se o login do usuário está correto.
①Defina o conjunto de dados yhlog para filtrar, conforme mostrado na Figura 7-2.
Figura 7-1 Desenho de projeto da tabela yhtab
Figura 7-2 Insira o conjunto de dados yhlog
② Clique no botão "Avançado" para alternar para o modo de conjunto de dados avançado, conforme mostrado na Figura 7-3.
Figura 7-3 Insira o conjunto de dados yhlog
③ Clique no parâmetro "+" para abrir a caixa de diálogo "Editar Parâmetros", preencha o nome como "@Logpas" e selecione "WChar" como tipo, conforme mostrado na Figura 7-4.
Figura 7-4 Adicionar para participar do Logpass
④Clique no botão "Criar" para abrir a caixa de diálogo "Gerar Valor", chamada "Logpass", e selecione "Variável de Formulário" como fonte, conforme mostrado na Figura 7-5.
Figura 7-5 Caixa de diálogo Gerar valor
⑤ Clique em "OK" para salvar as configurações e retornar à caixa de diálogo do conjunto de dados yhlog. Modifique a instrução SQL e o resultado da modificação será mostrado na Figura 7-6.
Figura 7-6 Modifique o conjunto de dados yhlog
(3) Antes da tag <html>, insira o código mostrado no círculo vermelho na Figura 7-7.
Figura 7-7 Definir função uselog
(4) Arraste o campo YHNAME sob o conjunto de dados yhlog no modelo bkblog.dwt.aspx para qualquer posição na página e, em seguida, arraste o campo YHID sob o conjunto de dados yhlog após ele. é o seguinte:
<%# yhlog.FieldValue("YHNAME", Container) %><%# yhlog.FieldValue("YHID", Container) %>
Altere o código acima para:
<%# uselog(yhlog.FieldValue(" YHNAME", Container),yhlog .FieldValue("YHID", Container)) %>
(5) Insira o conjunto de dados bjre sobre a consulta da tabela ZT e retorne o número total de notas de estudo publicadas pelo usuário.
① Defina o conjunto de dados como "Filtro", o campo de filtro é: YHID e o método de filtro é: valor de entrada, conforme mostrado na Figura 7-8.
Figura 7-8 Insira o conjunto de dados bjre
② Clique em "Avançado", mude para o modo de conjunto de dados avançado e modifique o SQL conforme mostrado na Figura 7-9.
Figura 7-9 Modifique o conjunto de dados bjre
③Clique no botão "Editar" e altere YHID para session("USEID") no campo de texto. O resultado é mostrado na Figura 7-10.
Figura 7-10 Edite os parâmetros da bire do conjunto de dados
④ Pressione a tecla "OK" e, em seguida, pressione a tecla "OK" para concluir a bire do conjunto de dados.
(6) Insira o conjunto de dados plre sobre a consulta da tabela HF e retorne o número total de notas de estudo publicadas pelo usuário. Exceto pelas diferentes tabelas de consulta, outras configurações são iguais às do conjunto de dados bjre (você pode copiar e colar o conjunto de dados plre primeiro e depois modificá-lo).
(7) Arraste o campo Eprl100 no conjunto de dados bjre para trás de "Postar uma nota:" na tabela yhtab; arraste o campo Eprl100 no conjunto de dados plre para atrás de "Postar uma resposta:" na tabela yhtab.
(8) Mova o cursor antes de “User Information” na tabela yhtab e clique em “Bind Data” no menu de atalho do ASP.NET. O resultado é mostrado na Figura 7-11.
Figura 7-11 Insira dados vinculados.
Mantenha o cursor na linha vertical vermelha na Figura 71 e digite: session("USENAME")
(9) Retorne à visualização de design e crie um hiperlink para "Publish New Notes" na tabela yhtab. : .. /ztfb.aspx
Crie um hiperlink para "Modificar informações" na tabela yhtab: ../yhsg.aspx
O resultado é mostrado na Figura 7-12.
Figura 7-12 Modificação da tabela yhtab
(10) Selecione a tabela yhtab, retorne à visualização do código, pressione "Ctrl+X" ou selecione "Cortar" no menu [Editar], o método antigo: cole-o no bloco de notas recém-criado ou em um documento do Word.
(11) Retorne à visualização do projeto, selecione a tabela logtab e mova o cursor para a posição da linha vertical vermelha conforme mostrado na Figura 7-13.
Figura 7-13 Mova para a posição do cursor
(12) e insira o código, conforme mostrado no círculo vermelho na Figura 7-14.
Figura 7-14 Insira o código antes do rótulo <form>
(13) Mova o cursor após a tag final Yhlogfrm </form> e insira o código, conforme mostrado no círculo vermelho na Figura 7-15.
Figura 7-15 Inserir código após tag </form>
(14) Cole a tabela yhtab cortada no passo 7 antes do código <%end if%> e depois de <% else %>.
(15) Salve o modelo bkblog.dwt.aspx. Abra todas as páginas da web baseadas no modelo bkblog.dwt.aspx e copie e cole os conjuntos de dados recém-adicionados yhlog, bjre e plre no modelo bkblog.dwt.aspx em [Comportamento do servidor]. Em seguida, insira o código como na etapa 3 e está tudo bem!
(16) Procure index.aspx no navegador IE, conforme mostrado na Figura 7-16 antes do login do usuário e conforme mostrado na Figura 7-17 após o login do usuário bem-sucedido. Lembre-se de que o ASP.NET não suporta transmissão de codificação gb2312. Ele precisa ser modificado. Isso foi mencionado no capítulo anterior, portanto, não se preocupe no futuro.
Figura 7-16 Antes do login do usuário
Figura 7-17
Lembrete após login do usuário: Para facilitar o aprendizado dos leitores, o tutorial está dividido em módulos. Na verdade, todas as funções devem ser feitas no template desde o início, principalmente o conjunto de dados e o carregador de cabeçalho que devem ser inseridos no template, pois estes não podem atualizar a página web após modificações posteriores.
Após fazer login, os usuários podem postar mensagens de resposta para cada nota de estudo.
(1) Abra hf.aspx, insira o formulário yhplfrm e, em seguida, insira a tabela Hftab. Insira o controle de caixa de texto do servidor na tabela com o ID HFNAME; botão com o ID plbottom Defina-o como desativado e o resultado é mostrado na Figura 7-18.
Figura 7-18 Design relevante da tabela Hftab
(3) Vincule a sessão de dados ("nome de usuário") depois de "nome:" na tabela Hftab (o método é mostrado na etapa 8 de 7.1 para vincular o nome do usuário antes de "informações do usuário" ).
(4) Arraste o campo ZTNAME no conjunto de dados Ztre para a caixa de texto HFNAME Na janela de propriedades da caixa de texto HFNAME, altere o valor inicial:
<%# Ztre.FieldValue("ZTNAME", Container) %>
para:
<%# "RE:"&Ztre.FieldValue("ZTNAME", Container) %>
(5) Selecione o botão plbottom, clique com o botão direito e selecione a barra de status <input # plbottom>, e selecione "Edit Label" no pop menu de atalho, conforme mostrado na Figura 7-19 Mostrar.
Figura 7-19 Selecione a tag de edição rápida <input # plbottom>
(6) Na tag de edição rápida pop-up <input # plbottom>, altere:
desabilitado="true"
para:
desabilitado=<%# iif((session( "USENAME ")<>nada),false,true) %>
O resultado é mostrado na Figura 7-20.
Figura 7-20 O rótulo de edição do atalho <input # plbottom>
define o botão plbottom. Ele é desativado antes do usuário efetuar login e fica disponível após o login do usuário.
(4) Adicione o comportamento do servidor de registro de inserção, envie o valor do formulário yhplfrm, selecione a tabela de inserção como HF e outras configurações são mostradas na Figura 7-21.
Figura 7-21 Comportamento de adicionar servidor de registro de inserção
Na Figura 7-21, você pode ver que os campos HFID, HFTIME, YHID e ZTID não obtêm valores. O campo HFID é um número automático e o banco de dados adicionará automaticamente um valor ao registro; o campo HFTIME tem um valor padrão definido como date() no Access, então o banco de dados adicionará automaticamente a data de hoje ao registro recém-adicionado. O campo YHID é o código ID do usuário logado e o campo ZTID é o ID da nota a ser publicada. Portanto, o código ID do usuário logado deve ser adicionado ao campo YHID, e o código ID da nota a ser publicada deve ser adicionado ao campo ZTID.
(5) Retorne à visualização do código e encontre o código para inserir o registro (dkconn, HF), conforme mostrado na parte preta selecionada na Figura 7-22.
Figura 7-22 Encontre o código para inserir registros (dkconn, HF)
(6) Altere o código:
CommandText='<%# "INSERT INTO HF (HFNAME, HFTEXT) VALUES (?, ?,)" %>'
para:
CommandText ='<%# "INSERT INTO HF (HFNAME, HFTEXT, ZTID, YHID) VALUES (?, ?, ?, ?)" %>'
(7) Adicione parâmetros em ordem:
<Parameter Name="@ZTID" Valor = '<%# Ztre.FieldValue("ZTID", Container) %>' Type="Integer" />
<Parameter Name="@YHID" Value='<%# SESSION("USEID") %>' Type= "Inteiro" />
O resultado é mostrado na Figura 7-23.
Figura 7-23 Resultados da modificação da inserção do código do registro (dkconn, HF)
(8) Antes de publicar a mensagem de resposta, o título e o conteúdo da resposta devem ser verificados para evitar a publicação de mensagens de resposta com títulos ou conteúdo vazios. Consulte o método de inserção do controle de validação RequiredFieldValidato na Seção 6.2 e adicione o controle de validação RequiredFieldValidato à caixa de texto HFNAME e ao controle de área de texto HFTEXT respectivamente.
(9) Quando o usuário posta uma mensagem de resposta, o número total de respostas nas notas de estudo deve ser automaticamente aumentado em 1, ou seja, o campo HFZS da tabela ZT deve ser automaticamente aumentado em 1.
① No painel [Comportamento do servidor], insira o comportamento do servidor "Atualizar registro", defina a tabela de atualização como ZT, defina temporariamente o valor enviado no formulário yhplfrm, defina temporariamente: 'HFZS' obtém o valor de 'HFTEXT' (como 'Inteiro') ;Suposição temporária: 'ZTID' usa 'HFTEXT' como 'Inteiro' para selecionar registros
② Por que eles são todos temporários? Isso permite que o Dreamweaver gere automaticamente algum código primeiro, para que ele possa ser modificado posteriormente. Primeiro mude para a visualização de código, encontre o código original do registro de atualização (dkconn,ZT) e encontre o código:
<Parameter Name="@HFZS" Value='<%# IIf((Request.Form("HFTEXT" ) <> Nada ), Request.Form("HFTEXT"), "") %>' Type="Integer" />
<Parameter Name="@ZTID" Value='<%# IIf((Request.Form(" HFTEXT") < > Nada), Request.Form("HFTEXT"), "") %>' Type="Integer" />
Altere para:
<Parameter Name="@HFZS" Value='<%# Ztre. FieldValue(" HFZS", Container)+1 %>' Type="Integer" />
<Parameter Name="@ZTID" Value='<%# session("ztanw") %>' Type="Integer" />
(10) Salve hf.aspx.
Após fazer login, os usuários podem publicar novas notas de estudo, além de responder mensagens.
(1) Crie uma nova página da web dinâmica ztfb.aspx gerada a partir do modelo bkblog.dwt.aspx e insira uma tabela ztfb com uma coluna e cinco linhas na área editável do corpo principal.
(2) Adicione o conjunto de dados zthb, defina o filtro como YHID e defina o parâmetro para a variável de estágio USENAME. O design é mostrado na Figura 7-24.
Figura 7-24 Adicionando o conjunto de dados zthb
(3) Arraste os campos relevantes do conjunto de dados para a tabela ztfb. Para o método, consulte o método na Seção 4.2.
(4) Abra hf.aspx, copie o formulário yhplfrm, cole-o na quinta linha da tabela zthb na página web ztfb.aspx, limpe a caixa de texto HFNAME e faça as modificações necessárias. 25.
Figura 7-25 Design da tabela ztfb
(2) Renomeie a caixa de texto HFNAME para ZTNAME e a área de texto HFTEXT para ZTTEXT.
(3) Seja a primeira, segunda e terceira linhas da tabela zthb as áreas repetidas do conjunto de dados zthb e, em seguida, insira a navegação do conjunto de dados na quarta linha da tabela.
(4) Insira a lista/menu LMID, clique no valor da lista em sua janela de propriedades e, na caixa de diálogo pop-up do valor da lista, insira o rótulo do projeto como: item de design como: 1, pressione o botão "OK"; chave, conforme mostrado na Figura 7-26 mostrada.
Figura 7-26 Caixa de diálogo de valor da lista LMID
(5) Mantenha a lista/menu LMIDl selecionada, mude para a visualização de código, encontre o código original da lista/menu LMID, arraste o campo LMID sob o menuda do conjunto de dados e substitua os dados por valor igual a 1 , conforme mostrado na Figura 7-27.
Figura 7-27 Arraste e solte o campo LMID sob o menuda do conjunto de dados
(6) Arraste o campo LM sob o menuda do conjunto de dados e substitua o "item de design".
Figura 7-28 Arraste o campo LM sob o menu do conjunto de dados
(7) Selecione o código no círculo vermelho na Figura 7-3-5 e defina-o como uma área de repetição do menu do conjunto de dados. Figura 7-29.
Figura 7-29 Defina a área de repetição do menu do conjunto de dados na lista
(8) para adicionar o comportamento do servidor "Inserir Registro", e suas configurações são mostradas na Figura 7-30.
Figura 7-30 Adicionar comportamento do servidor "Insert Record"
(9) Mude para a visualização de código, encontre o código original do registro de inserção (dkconn, ZT), encontre o código:
CommandText='<%# "INSERT INTO ZT (LMID, ZTNAME, ZYTEXT) ) VALORES (?, ?, ?)" %>'
Altere para:
CommandText='<%# "INSERT INTO ZT (LMID, ZTNAME, ZYTEXT,YHID) VALORES (?, ?, ?, ?)" %>'
( 10) Adicione parâmetros:
<Parameter Name="@YHID" Value='<%# session("USEID") %>' Type="Integer" />
O resultado é mostrado na Figura 7-31.
Figura 7-31 O código original para inserir modificação de registro (dkconn, ZT)
O design da página para modificar informações do usuário é basicamente o mesmo que o design da página de registro do usuário.
(1) Abra a página de registro yhlogok.aspx, salve-a como yhsg.aspx e faça as modificações apropriadas. O resultado é mostrado na Figura 7-32.
Figura 7-32 Design da página yhsg.aspx
(2) Exclua o comportamento do servidor "Inserir registro (dkconn, YH)" e adicione o conjunto de dados yhsg, conforme mostrado na Figura 7-33.
Figura 7-33 Insira o conjunto de dados yhsg
(3) Vincule os campos relevantes do conjunto de dados yhsg à caixa de texto correspondente. O resultado é mostrado na Figura 7-34.
Figura 7-34 Vincule o texto dinâmico à caixa de texto relevante
(4) Adicione o comportamento do servidor de registro de atualização, defina temporariamente: 'YHID' e 'YHNAME' como 'Inteiro' para selecionar registros, o resultado é mostrado na Figura 7-35.
Figura 7-35 Comportamento do servidor Adicionar registro de atualização
(5) No código original do registro de atualização, encontre o código:
<Parameter Name="@YHID" Value='<%# IIf((Request.Form("YHNAME") < > Nada), Request.Form("YHNAME"), "") %>' Type="Integer" />
Altere para:
<Parameter Name="@YHID" Value='<%# IIf((Not Session( "USEID") não é nada), Session("USEID"), "") %>' Type="Integer" />
(6) Salve yhsg.aspx.