Capítulo 5 Colunas do menu de notas e implementação de respostas
A página inicial concluída no Capítulo 4 é na verdade muito imperfeita. Primeiro, não há links nas colunas do menu de notas e, em segundo lugar, se você clicar no título da nota, não poderá vincular. para a página de resposta; Terceiro, se você clicar no autor, não poderá vincular às informações do autor. Essas funções serão aprimoradas neste capítulo.
: Modifique o hiperlink da coluna de menu no modelo bkblog.dwt.aspx e, em seguida, atualize todas as páginas da web ao abrir a página inicial, navegue para exibir o conteúdo das notas de estudo em; ordem decrescente de tempo, clique na coluna do menu. Também pode exibir o conteúdo das notas de estudo em ordem decrescente de tempo de acordo com as colunas.
5.1.1 Criar menu de modelo
(1) Abra o modelo bkblog.dwt.aspx, selecione texto dinâmico (menuda.LM), crie um hiperlink, link para a página inicial (index.aspx), selecione [Visualização de exibição de código] e mova o mouse até o local onde a linha vertical vermelha é mostrada na Figura 5-1-1. (Não há instruções especiais abaixo, todos os símbolos são caracteres ingleses)
Figura 5-1-1 Mova o mouse até o atributo link
(2) Digite "?menanw=" (menanw é a variável do parâmetro), mude para o painel [Binding], arraste o campo LMID abaixo do conjunto de dados (menuda) para agora mesmo Após o sinal de igual de entrada, o resultado é mostrado na Figura 5-1-2:
Figura 5-1-2 Inserir atributos dinâmicos (a.href)
(3) Mude para o painel [Comportamento do Servidor], você pode ver que um comportamento de servidor foi adicionado: atributos dinâmicos (a.href), conforme mostrado na Figura 5 -1-3:
Figura 5-1-3 Painel Comportamento do Servidor
(4) Selecione o menu "Home" e crie um link para index.aspx; selecione "Fale Conosco" e crie um link para mailto:[email protected].
(5) Salve o modelo bkblog.dwt.aspx e a caixa de diálogo mostrada na Figura 5-1-4 aparecerá.
Figura 5-1-4 Caixa de diálogo Atualizar arquivo de modelo.
(6) Clique no botão "Atualizar" para completar as colunas do menu de notas e atualizar a página inicial index.aspx.
5.1.2 Implementar a exibição da coluna na página inicial
(1) Abra a página inicial index.aspx, mude para o painel [Comportamento do servidor], clique duas vezes no conjunto de dados (Ztre) e na caixa de diálogo pop-up do conjunto de dados , clique no botão "Avançado", conforme mostrado na Figura 5-1-5. Selecione o comando SQL na área de texto [SQL] para copiar. É recomendado colá-lo no bloco de notas ou texto do Word recém-criado. Será de grande utilidade nas etapas subsequentes (você pode pular esta etapa se estiver familiarizado com SQL. linguagem) .
Figura 5-1-5 Caixa de diálogo Conjunto de dados avançado
(2) Clique no botão "Simples", selecione o campo de filtro como LMID no menu suspenso [Filtro], selecione "Parâmetro de URL" como método de transferência de parâmetro e a entrada a variável de parâmetro é menanw. Pressione o botão "OK", o resultado é mostrado na Figura 5-1-6:
Figura 5-1-6 Modifique o conjunto de dados Ztre para filtrar
(3) Navegue na página inicial com o IE, mas os resultados da navegação não são registrados, conforme mostrado na Figura 5-1-7
Figura 5-1-7 Figura de navegação na página inicial
(4) Na navegação na página inicial do IE, clique no link "Programação de Rede", o resultado é mostrado na Figura 4-3-3 no capítulo anterior, mostrando todas as notas de estudo de programação de rede .
“Espere um minuto, isso não está de acordo com a ideia original do design! Ele só pode ser exibido por colunas, não por todas as notas de estudo! Também há um problema de transferência de dados entre páginas ASP.NET: dados entre Formulários em aplicativos Windows!” A transferência pode ser alcançada definindo variáveis globais (variáveis estáticas públicas) e outros métodos. No entanto, esses métodos não podem ser usados para transferir dados entre páginas da Web no ASP.NET. Por exemplo: quando você clica na barra de navegação do conjunto de dados, os dados de Ztre_currentPage serão transferidos, mas os dados de menanw não podem ser transferidos. Ou seja, quando você clica em qualquer hiperlink da barra de navegação do conjunto de dados, os dados. transferido por menan será sempre nulo, o que não é possível apenas realizar a exibição da coluna, mas também realizar a exibição da paginação nas colunas ao mesmo tempo. Aqui está uma solução usando sessão para passar parâmetros.
(5) Para passar a variável de parâmetro menanw para session("menanw"), mude para a visualização de código e insira o código mostrado no círculo vermelho na Figura 5-1-8 antes da tag <html>.
Figura 5-1-8 Insira a página em index.aspx para carregar a função padrão
(6) Selecione o conjunto de dados (Ztre) no painel [Server Behavior], conforme mostrado na Figura 5-1-9, a parte preta é o código de definição do conjunto de dados (Ztre).
Figura 5-1-9 Código do conjunto de dados Ztre
(7) Encontre o código:
CommandText='<%# "SELECT * FROM ZTRE WHERE LMID = ? ORDER BY ZITIME ASC" %>'
Altere o código acima para:
CommandText=' <%# IIf(((request.QueryString("menanw")<>nothing) or Request.QueryString("Ztre_CurrentPage") <> Nothing),"SELECT * FROM ZTRE WHERE LMID = ? ORDER BY ZITIME DESC","SELECT * FROM ZTRE ORDER BY ZITIME DESC") %>'
(8) Código encontrado:
<Parameter Name="@LMID" Value='<%# IIf((request.QueryString("menanw") <> Nada), request. QueryString("menanw"), "") %>' Type="Integer" /></Parameters></MM:DataSet>
Altere o código acima para:
<Parameter Name="@LMID" Value='<% # IIf((session("menanw") <> Nothing), session("menanw"), "") %>' Type="Integer" /></Parameters></MM:DataSet>
(9) Execute a navegação no IE , o resultado é mostrado na Figura 4-3-3 do Capítulo 4. Complete as ideias de design estabelecidas.
Ideia de design de implementação da página de resposta: Ao clicar no título da nota, uma página pode ser vinculada, incluindo a nota e todas as respostas correspondentes. Na seção anterior, pode-se perceber que isso não é difícil. Isso pode ser conseguido passando os parâmetros do código desta nota apenas no hiperlink do título da nota.
5.2.1 Design básico de página
(1) Crie uma nova página dinâmica ASP.NET VB hf.aspx gerada pelo template bkblog.dwt.aspx, insira a tabela ztre na área editável do corpo principal e execute designs relacionados. na Figura 5-2 -1 mostra:
Figura 5-2-1 Diagrama de design da tabela ztre
(2) Inicie o Access2003, estabeleça a tabela FH, consulta de conexão da tabela YH HFRE; na verdade, a visualização da conexão e os campos de exibição são mostrados na Figura 5-2-2.
Figura 5-2-2 Consulte o design relevante do HFRE
(3) Siga as etapas (1)-(3) na seção 4.2.2 Conjunto de dados para adicionar o conjunto de dados Ztre, arraste os campos para as posições correspondentes e execute o texto dinâmico (Ztre. ZYTEXT), o resultado é mostrado na Figura 5-2-3:
Figura 5-2-3 Vincular dados à tabela ztre
(4) Modifique o conjunto de dados Ztre para filtrar, o campo de filtro é ZTID, selecione "parâmetro de URL" como método de transferência de parâmetro e a variável de parâmetro de entrada é ztanw.
(5) Adicione o conjunto de dados Hfre, o campo de filtro é ZTID, selecione "Parâmetro de URL" como método de transferência de parâmetro e a variável de parâmetro de entrada é ztanw. O resultado é mostrado na Figura 5-2-4:
Figura 5-2-4 Design do conjunto de dados Hfre
(6) Arraste o campo Hfre do conjunto de dados para a posição correspondente da tabela ztre, defina a configuração de formato do texto dinâmico (Htre.HFTEXT) para "Codificação - formato de codificação HTML ", e altere o primeiro campo da tabela ztre As linhas 5, 6 e 7 são definidas como áreas repetidas e os dados são paginados na tabela ztre. Os resultados são mostrados na Figura 5-2-5:
Figura 5-2-5 Vincule o conjunto de dados Htre à tabela ztre
(7) Abra a página inicial index.aspx, selecione o texto dinâmico (Ztre.ZTNAME), crie um hiperlink, link para hf.aspx, mude para o código view e coloque o link Altere o atributo para: hf.aspx?ztanw= Após arrastar o campo ZTID sob o conjunto de dados Ztre para o sinal de igual, o resultado é mostrado na Figura 5-2-6:
Figura 5-2-6 Adicione hiperlinks dinâmicos no código
(8) Salve hf.aspx e index.asps, insira alguns registros na tabela HF e na tabela YH correspondentes no Access e navegue index.asps no navegador IE, clique em o tópico da nota de estudo com resposta, conforme mostrado na Figura 5-2-7:
Figura 5-2-7 Exibição da página de resposta
(9) Em seguida, clique em qualquer hiperlink na navegação do conjunto de dados, o resultado é mostrado na Figura 5-2-8:
Figura 5-2-8 Os resultados da página após clicar na navegação do conjunto de dados
! Tudo se foi! Este é o problema da transferência de dados entre páginas da web ASP.NET. Deve ser modificado conforme a Seção 5.1.
(10) Mude para a visualização de código e insira o código mostrado no círculo vermelho na Figura 5-2-9 antes da tag <html>.
Figura 5-2-9 Insira a página em hf.aspx para carregar a função padrão
(11) Encontre o código no conjunto de dados Ztre:
<Parameter Name="@ZTID" Value='<%# IIf((request.QueryString ("ztanw ") <> Nada), request.QueryString("ztanw"), "") %>' Type="Integer" />
Substitua request.QueryString("ztanw") no código acima por session("ztanw "), O código do resultado é modificado para
<Parameter Name="@ZTID" Value='<%# IIf((session("ztanw")<> Nothing), session("ztanw"), "") %>' Type="Integer" />
(12) Encontre o código no conjunto de dados Hfre:
<Parameter Name="@ZTID" Value='<%# IIf((request.QueryString("ztanw") <> Nothing), request .QueryString("ztanw" ), "") %>' Type="Integer" />
Substitua request.QueryString("ztanw") no código acima por session("ztanw"), e o código resultante é modificado para
< Nome do parâmetro="@ZTID" Valor= '<%# IIf((session("ztanw")<> Nada), session("ztanw"), "") %>' Type="Integer" />
(13) Salve hf.aspx.