- •Оглавление
- •Введение
- •Общая характеристика работы
- •Глава 1 построение логической модели
- •1.1 Постановка задачи
- •1.2 Описание предметной области
- •1.3 Описание логической структуры таблиц базы данных
- •1.4.Связи в таблицах
- •1.5 Описание программного обеспечения, используемого в работе
- •1.6 Система меню
- •Глава 2 состав отдельных модулей
- •2.1 Хранимые процедуры
- •2.2 Класс связующий информацию сайта с базой данной
- •2.3 Класс, выполняющий операции над данными в базе
- •2.4 Страница сайта, отображающая информацию с базы данных Newsletters.Aspx:
- •2.5 Страница сайта, отображающая информацию с базы данных Newsletters.Cs
- •2.6 Страница добавления (изменения) информации из базы данных AddEditNewsletters.Cs.
- •Заключение
- •Список использованных источников
- •Приложения:
- •Приложение a.
2.4 Страница сайта, отображающая информацию с базы данных Newsletters.Aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Newsletters.aspx.cs" Inherits="MB.AppliedMathematics.UI.Newsletters" %>
// MainContent расположен на мастер странице
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server">
//Подключаем Ajax элементы
<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="86400">
</asp:ScriptManager>
// На событии таймара Timer1_Tick происходит отправка новостей подписчикам
<asp:Timer ID="Timer1" runat="server" Enabled="False" Interval="1" OnTick="Timer1_Tick">
</asp:Timer>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<ContentTemplate>
<table border="0" width="100%">
<tr>
<td align="left">
<div class="sectiontitle">
Новости</div>
</td>
// Поиск по новостям
<td width="285px" align="right" valign="top">
<asp:Label ID="Label1" runat="server" Text="Поиск..."></asp:Label>
<asp:TextBox ID="TextBoxSearch" runat="server"></asp:TextBox><asp:ImageButton ID=" ImageButtonSearch "
runat="server" ImageUrl="~/Images/search.png" OnClick=" ImageButtonSearch _Click" />
</td>
</tr>
</table>
<asp:Label ID="Label3" runat="server" Text="Количество записей:"></asp:Label>
<asp:Label ID="LabelCount" runat="server" ForeColor="#CC6600" Font-Bold="true"></asp:Label>
// Панель с ссылкой на добавление новости, видна только администраторам и редакторам
<asp:Panel runat="server" ID="panAdd" Visible="false" Direction="RightToLeft" Enabled="True">
<div id="Div1" class="cl_link" runat="server">
<asp:HyperLink ID="AddNews" Visible="false" runat="server" NavigateUrl="~/Admin/AddEditNewsletters.aspx">Добавить новость</asp:HyperLink>
</div>
</asp:Panel>
//Панель с визуализацией состояния отправки новостей на е-mail
<asp:Panel ID="PanelSendEmail" runat="server" Visible="False">
<table width="100%" border="0">
<tr>
<td align="left">
<asp:Label runat="server" ID="Label2" Text="Количество адресатов:" />
<asp:Label ID="LabelCountAddress" runat="server" ForeColor="#CC6600" Font-Bold="true"></asp:Label>
</td>
</tr>
<tr>
<td align="left">
<asp:Label ID="LabelLetterSendL" runat="server" Text="Количество успешно отправленных: "
Visible="False"></asp:Label>
<asp:Label ID="LabelLetterSend" runat="server" ForeColor="#CC6600" Text=""></asp:Label>
</td>
</tr>
<tr>
<td align="left">
<asp:Label ID="LabelLetterNoSendL" runat="server" Text="Количество не оправленных:"
Visible="False"></asp:Label>
<asp:Label ID="LabelLetterNoSend" runat="server" ForeColor="#CC6600" Text=""></asp:Label>
</td>
</tr>
</table>
<asp:Panel ID="PanelAnim" runat="server" Visible="false">
<asp:Label ID="Label14" runat="server" Text="Подождите. Идет отправка писем...Обработано"></asp:Label>
 
<asp:Label ID="LabelSendCurrent" runat="server" Text="0"></asp:Label>
 
<asp:Label ID="Label15" runat="server" Text="писем." SkinID="LabelIUD"></asp:Label>
<asp:Image ID="Image1" runat="server" Width="40px" ImageUrl="~/Images/ClockAnim.gif" />
</asp:Panel>
<asp:Button ID="ButtonOK" runat="server" Text="Ok" Visible="false" OnClick="ButtonOK_Click" />
</asp:Panel>
<br />
//подключение к объекту с данными
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
SelectMethod="GetNewsletters"
TypeName="MB.AppliedMathematics.DAL.SqlClient.SQLNewsletterProvider">
<SelectParameters>
<asp:Parameter DefaultValue="" Name="param" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<div align="center">
//отображение новостей в ListView
<asp:ListView ID="ListView1" runat="server" DataSourceID="ObjectDataSource1"
GroupItemCount="2" onitemcommand="ListView1_ItemCommand" >
<LayoutTemplate>
<table runat="server" width="100%">
<tr runat="server">
<td runat="server">
<table ID="groupPlaceholderContainer" runat="server" border="0"
cellpadding="10" style="font-family: Verdana, Arial, Helvetica, sans-serif;" width="100%">
<tr ID="groupPlaceholder" runat="server">
</tr>
</table>
</td>
</tr>
<tr runat="server">
<td runat="server"
style="text-align: center; font-family: Verdana, Arial, Helvetica, sans-serif;color: #333333;" >
</td>
</tr>
</table>
</LayoutTemplate>
<EmptyItemTemplate>
<td runat="server" />
</EmptyItemTemplate>
<GroupTemplate>
<tr ID="itemPlaceholderContainer" runat="server">
<td ID="itemPlaceholder" runat="server">
</td>
</tr>
</GroupTemplate>
<EmptyDataTemplate>
<table runat="server">
<tr>
<td>
Таких новостей не найдено.</td>
</tr>
</table>
</EmptyDataTemplate>
<ItemTemplate>
<td runat="server" >
<a ID='<%# Eval("ID") %>'></a>
<div class="posttitle">
<asp:Literal ID="lblAddedDate" runat="server"
Text='<%# Eval("AddedDate", "{0:D}") %>' />
::
<asp:Literal ID="lblTitle" runat="server" Text='<%# Eval("Subject") %>' />
<div ID="Div2" runat="server" class="111"
style="font-size: x-small; font-style: italic;">
Добавлено
<asp:Literal ID="lblAddedBy" runat="server" Text='<%# Eval("AddedBy") %>' />
</div>
</div>
<div class="postbodyNewsText">
<asp:Literal ID="lblBody" runat="server" Text='<%# Eval("HtmlBody") %>' />
<br />
//панель редактирования новости видна только администраторам и редакторам
<asp:Panel ID="panEdit" runat="server" HorizontalAlign="Right"
Visible="<%# UserCanEdit %>">
<asp:Label ID="LabelNewsletter" runat="server"
Text='<%#Eval("NewsletterSend") %>' Visible="false"></asp:Label>
<asp:Image ID="ImageNewsletter" runat="server" />
<asp:ImageButton ID="ImageSendNewsletter" runat="server"
CommandArgument='<%# Eval("ID") %>' CommandName="Send"
ImageUrl="~/Images/SendNews.png"
OnClientClick="if (confirm('Разослать новость по подписке?') == false) return false;"
ToolTip="Разослать новость по подписке" />
<asp:HyperLink ID="lnkEdit" runat="server" ImageUrl="~/Images/Edit.gif"
NavigateUrl='<%# "~/Admin/AddEditNewsletters.aspx?ID=" + Eval("ID") %>'
ToolTip="Изменить новость" />
<asp:ImageButton ID="btnDelete" runat="server" AlternateText="Удаление новости"
CommandArgument='<%# Eval("ID") %>' CommandName="Del"
ImageUrl="~/Images/Delete.gif"
OnClientClick="if (confirm('Вы действительно хотите удалить эту новость?') == false) return false;"
ToolTip="Удалить" />
</asp:Panel>
</div>
</td>
</ItemTemplate>
</asp:ListView>
<br />
//компонент DataPager для перелистывания страниц с новостями
<asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1"
PageSize="10" QueryStringField="page">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button" FirstPageText="В начало"
LastPageText="В конец" NextPageText="Далее" PreviousPageText="Назад"
ShowFirstPageButton="True" ShowLastPageButton="True" />
</Fields>
</asp:DataPager>
</div>
<br />
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>