5. Домашняя страница программы (default.asp)
??Вызовите соответствующие включаемые файлы и общедоступные функции для форматирования XML-файла и его отображения. Как видите, заголовок страницы настраивается, а общедоступный заголовок и трейлер превращаются в соответствующие включаемые файлы. C_TITLE, C_XMLFILE и C_XSLFILE — общедоступные константы, определенные в файле constpub.asp. Что касается их значений, я думаю, читатели легко их поймут. Здесь вызывается определенная выше функция FormatXml. <% Опция явная '********************************************* 'Описание: Адресная книга ' Автор: gwd 5 ноября 2002 г. '********************************************* %> <!--#include file="pub/funcxml.asp"--> <!--#include file="pub/constpub.asp"--> <HTML> <ГОЛОВА> <TITLE><% = C_TITLE %></TITLE> <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=GB2312"/> <ссылка rel="stylesheet" href="contact.css" type="text/css"> </ГОЛОВКА> <ТЕЛО> <!--#include file="pub/header.asp"--> <% = FormatXml(C_XMLFILE, C_XSLFILE) %> <бр> <!--#include file="pub/footer.asp"--> </ТЕЛО> </HTML> |
6. Добавление, изменение и удаление информации в XML.
??Мы знаем, что соответствующий метод определен в Cls_Person, поэтому в каждом файле нам нужно только вызвать соответствующий метод. Файл для добавления информации — add.asp, файл для изменения информации — edit.asp, а файл для удаления информации — delete.asp. Мы используем файл add.asp только в качестве примера для объяснения. Функции CheckStrInput и CheckStrOutput используются для форматирования строк ввода и вывода пользователя.
<% Опция явная '********************************************* 'Описание: 37080308 адресная книга ' Автор: gwd 5 ноября 2002 г. '********************************************* %> <!--#include file="pub/funcxml.asp"--> <!--#include file="pub/constpub.asp"--> <!--#include file="pub/funcpub.asp"--> <!--#include file="pub/class/clsPerson.asp"--> <% Тусклый objXml, objPerson Dim strErr Set objXml = Server.CreateObject("MSXML2.DOMDocument") Set objPerson = New Cls_Person ' Генерировать объект Cls_Person If Request.Form("btnOk") <> "" Тогда Если LoadXmlDoc(objXml, C_XMLFILE, False, strErr) Тогда «Загрузить файл XML» Присвоить значение соответствующему атрибуту objPerson.Name = CheckStrInput(Request.Form("txtName")) objPerson.Nick = CheckStrInput(Request.Form("txtNick")) objPerson.Mobile = CheckStrInput(Запрос.Форма("txtMobile")) objPerson.Tel = CheckStrInput(Request.Form("txtTel")) objPerson.Email = CheckStrInput(Запрос.Форма("txtEmail")) objPerson.QQ = CheckStrInput(Запрос.Форма("txtQQ")) objPerson.Company = CheckStrInput(Запрос.Форма("txtCompany")) If Not objPerson.AddToXml(objXml) then ' Вызов метода AddToXml класса Cls_Person для добавления данных AddErr strErr, objPerson.GetLastError Еще AddErr strErr, «Добавление успешно» Response.Write "<script Language=""javascript"">opener.location.reload();</script>" Конец, если Конец, если Конец, если Установить objXml = Ничего %> <HTML> <ГОЛОВА> <TITLE><% = C_TITLE %></TITLE> <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=GB2312"/> <ссылка rel="stylesheet" href="contact.css" type="text/css"> <язык сценариев="javascript"> <!-- функция ПроверкаФормы() { вернуть истину; } //--> </скрипт> </ГОЛОВКА> <ТЕЛО> <% = стрЭрр %> <div class="title">Добавить контактную информацию</div> <form name="form1" Method="post" action="add.asp" onsubmit="return CheckForm()"> <table align="center" width="100%" cellpacing="1" cellpadding="2" border="0" bgcolor="#666600"> <tr bgcolor="#ffffff"> <td width="25%" bgcolor="#e5e5e5" align="right"><b>Имя: </b></td> <td width="75%"><input type="text" name="txtName" size="25" class="input" value="<%=CheckStrOutput(objPerson.Name)%>"></td > </тр> <tr bgcolor="#ffffff"> <td bgcolor="#e5e5e5" align="right"><b>Английское название: </b></td> <td><input type="text" name="txtNick" size="25" class="input" value="<%=CheckStrOutput(objPerson.Nick)%>"></td> </тр> <tr bgcolor="#ffffff"> <td bgcolor="#e5e5e5" align="right"><b>Мобильный телефон: </b></td> <td><input type="text" name="txtMobile" size="25" class="input" value="<%=CheckStrOutput(objPerson.Mobile)%>"></td> </тр> <tr bgcolor="#ffffff"> <td bgcolor="#e5e5e5" align="right"><b>Тел: </b></td> <td><input type="text" name="txtTel" size="25" class="input" value="<%=CheckStrOutput(objPerson.Tel)%>"></td> </тр> <tr bgcolor="#ffffff"> <td bgcolor="#e5e5e5" align="right"><b>Электронная почта:</b></td> <td><input type="text" name="txtEmail" size="25" class="input" value="<%=CheckStrOutput(objPerson.Email)%>"></td> </тр> <tr bgcolor="#ffffff"> <td bgcolor="#e5e5e5" align="right"><b>QQ:</b></td> <td><input type="text" name="txtQQ" size="25" class="input" value="<%=CheckStrOutput(objPerson.QQ)%>"></td> </тр> <tr bgcolor="#ffffff"> <td bgcolor="#e5e5e5" align="right"><b>Компания: </b></td> <td><input type="text" name="txtCompany" size="25" class="input" value="<%=CheckStrOutput(objPerson.Company)%>"></td> </тр> </таблица> <бр> <div align="center"> <тип ввода="отправить" имя="btnOk" значение="Отправить"> <input type="button" name="btnClose" value="Close" onclick="javascript:return window.close();"> </дел> </форма> </ТЕЛО> </HTML> <% Установить objPerson = Ничего %> |
7. Резюме
??На этом этапе наша программа управления контактной информацией завершена. То, как это происходит, каково это, должно быть довольно просто. Конечно, в этой процедуре еще есть много областей для улучшения, и я просто предлагаю здесь некоторые идеи, и я надеюсь, что читатели смогут изменить и улучшить ее самостоятельно после освоения XML-программирования.
??Эта процедура была протестирована на моем локальном компьютере (Windows Server 2000, IIS5.0 и IE6.0) и в Интернете, и она может работать нормально.
Нажмите, чтобы загрузить исходный код этой статьи