Capítulo 10 Implementação do calendário de eventos do BLOG
Como o BLOG de Doking é uma nota de estudo, você pode verificar todas as notas e respostas das notas pressionando o calendário.
Análise de dificuldade: Devemos adicionar o controle de calendário Calendar diretamente ao modelo? Não! Isso não vai funcionar! Como o controle de calendário Calendar é um controle de servidor, ele deve estar em um formato contendo runat="servidor". Entretanto, só pode haver um formulário contendo runat="servidor" em uma página, caso contrário, o erro mostrado na Figura 10-1 às vezes ocorrerá show.
Figura 10-1 O que devo fazer se a página só puder ter um erro contendo o formulário runat="server"
? Aqui está uma estrutura incorporada para transferência.
10.1 Adicionar controle de calendário Calendar
(1) Crie uma nova página dinâmica ASP.NET VB em branco.
(2) Insira e abra o formulário runat="server" e defina ID="Calfrm".
(3) Clique no botão "Mais tags" no menu de atalho do ASP.NET e selecione "calendário asp" em "Tags do ASP.NET" na caixa de diálogo pop-up [Seletor de tags], conforme mostrado na Figura 10-2 .
Figura 10-2 Insira a tag "asp Calendar"
(4) Pressione o botão "Insert" e a caixa de diálogo [Tag Editor—Calendar] aparecerá, conforme mostrado na Figura 10-3. Nesta caixa de diálogo, você pode definir o estilo do controle do calendário Calendário. Como está em chinês, não entrarei em detalhes aqui.
(5) Salve a página dinâmica ASP.NET VB como dkCalendar.aspx. Navegue no IE, conforme mostrado na Figura 10-4.
Figura 10-3 Caixa de diálogo [Editor de tags—Calendário]
Figura 10-4 Navegando em dkCalendar.aspx no IE
Na Figura 10-1-4, você pode ver que a exibição da semana é muito longa e feia! Seria bom se lesse “dia, um, dois, três, quatro, cinco, seis”.
10.2 Modificar a exibição semanal do Calendário
(1) Abra dkCalendar.aspx no Dreamweaver, alterne para a visualização de código e procure o seguinte código:
<
%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312 " %>
Altere para:
<%@ Page Language="VB" Debug="true" Culture="zh-CN"%>
(2) Clique no botão "а:xy" no menu de atalho do ASP.NET e insira o namespace, como mostrado na Figura 10-5.
(3) Adicione novo código neste momento:
<%@ Import Namespace="" %>
O namespace de entrada é System.Globalization, ou seja, o código é alterado para:
<%@ Import Namespace="System.Globalization" %>
(4) Adicione novamente Namespace System.Threading, o resultado é mostrado na Figura 10-6.
Figura 10-5 Inserindo namespace
Figura 10-6 Código após inserir o namespace
(5) Após o código:
<%@ Import Namespace="System.Treading" %>
, deixe uma linha em branco e insira o seguinte código:
<script runat="server">
Dim dkday ' definição A variável global da string de link gerada pela seleção da data
'função para alterar a exibição da semana
Private Sub Calendar1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Calendar1.PreRender
Dim dkwek = System.Threading.Thread. CurrentThread
Dim dknew = System.Globalization.CultureInfo.CurrentCulture.Clone()
dknew.DateTimeFormat.DayNames = New String() {"Dia", "一", "二", "三", "四", "五", "六"}
dknew.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Sunday
dkwek.CurrentCulture = dknew
End Sub
</script>
(6) Selecione o código original do controle de calendário Calendar1, mude para a guia [Propriedades] do painel [Rótulo] , expanda a opção "Aparência", selecione o menu suspenso do item "DayNameFormat" e selecione "Completo", conforme mostrado na Figura 10-7.
(7) Salve dkCalendar.aspx e navegue nele no IE. O resultado é mostrado na Figura 10-8.
Figura 10-7 Selecione o valor "DayNameFormat" como "Completo" Figura 10-8Adicione eventos de calendário
no IE 10.3 após modificar dkCalendar.aspx
(1) Abra dkCalendar.aspx no Dreamweaver, alterne para a visualização de código e selecione o código original do Calendar1 , clique com o botão direito e selecione "Edit Label (E) <asp:calendar>" no menu de atalho pop-up, conforme mostrado na Figura 10-9.
Figura 10-9 Selecione "Edit Label (E) <asp:calendar>"
(2) Na caixa de diálogo que aparece [Edit Label—calendar], expanda o item "Events", selecione "OnSelectionChanged" e clique em "Calendar —OnSelectionChanged" Na área de texto do evento, digite "Calendar1_SelectionChanged" e pressione o botão "OK", conforme mostrado na Figura 10-10.
Figura 10-10 Edite o evento OnSelectionChanged
(3) Adicione o código mostrado no círculo vermelho na Figura 10-11 na tag code <script runat="server">.
Figura 10-11 Adicione o evento Calendar1_SelectionChanged
(4) Entre as tags <head></head>, insira o código mostrado no círculo vermelho na Figura 10-12.
(5) Encontre a tag <body> e altere-a para o código mostrado no círculo vermelho na Figura 10-13.
Figura 10-12 Inserindo a função javascript dkwk
Figura 10-13 Modifique a tag <body>
(6) Defina o item "DayNameFormat" de Calendar1 como "Full" novamente, consulte o passo 6 na Seção 10.2.
(7) Salve dkCalendar.aspx, abra index.aspx e adicione o seguinte código na função page_load:
if Request.QueryString("dkday")<>nothing then
Ztre.CommandText="SELECT * FROM ZTRE WHERE cstr(ZITIME) LIKE '%" &Request.QueryString("dkday")&"%' ORDER BY ZITIME DESC"
else
if (request.QueryString("menanw")<>nada) ou (sessão("menanw")<>nada) então
Ztre .CommandText ="SELECT * FROM ZTRE WHERE LMID = ? ORDER BY ZITIME DESC"
else
Ztre.CommandText="SELECT * FROM ZTRE ORDER BY ZITIME DESC"
end if
end if
O resultado é mostrado na Figura 10-14.
Figura 10-14 Adicione o código (8) na função page_load
para encontrar o código original do conjunto de registros Ztre e exclua a linha de comando onde seu CommandText está localizado. O resultado é mostrado no círculo vermelho na Figura 10-15.
Figura 10-15 O código original (9) do conjunto de registros modificado Ztre
salva index.aspx.
10.4 Adicionar um quadro incorporado
(1) Abra o modelo dkblog.dwt.aspx, clique no botão de atalho "Mais tags" no menu de atalho do ASP.NET e selecione "Tags HTML" na caixa de diálogo [Seletor de tags] que aparece . E selecione o item "iframe", conforme mostrado na Figura 10-16.
Figura 10-16 Inserir tag iframe (ou seja, quadro incorporado)
(2) Clique no botão "Inserir" e na caixa de diálogo pop-up [Tag Editor—iframe], faça as configurações relevantes para o quadro incorporado a ser inserido, conforme mostrado na Figura 10-17 mostrada.
Figura 10-17 Faça as configurações relevantes para o quadro incorporado
(3) Pressione o botão "OK" para retornar à caixa de diálogo [Tag Editor—iframe] e, em seguida, pressione o botão "Fechar".
(4) Salve o modelo dkblog.dwt.aspx e atualize todas as páginas da web.
(5) Procure index.aspx no IE, o resultado é mostrado na Figura 10-18.
Figura 10-18 Navegando em index.aspx no IE
Lembrete: Na verdade, a implementação de eventos de calendário é um evento muito complexo, aqui está apenas um exemplo simples. Outra dificuldade nesta seção é o controle do objeto da janela principal pela estrutura incorporada. Aqui usamos apenas " parent.location.href " para controlar o fluxo da página da janela principal. Estes são deixados para os leitores estudarem lentamente.