界面图: 代码如下: Default.aspx: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@ Register Assembly="MagicAjax" Namespace="MagicAjax.UI.Controls" TagPrefix="ajax" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>Simple MessageBook for MagicAjax Application</title> <style type="text/css"> h3.title{color:seagreen} </style></head><body> <form id="form1" runat="server"> <div> <div> <h3 class="title">留言列表:</h3> <ajax:AjaxPanel ID="AjaxPanel1" runat="server" Width="473px"> <asp:GridView ID="MessageList" runat="server" AutoGenerateColumns="False" DataSourceID="GuestBookSqlSource" AllowPaging="True" PageSize="6" ForeColor="#333333" PagerStyle-HorizontalAlign="Right" Width="600px" GridLines="None" HorizontalAlign="Center" CellPadding="5" OnPageIndexChanging="MessageList_PageIndexChanging"> <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" /> <RowStyle BackColor="#FFFBD6" ForeColor="#333333" /> <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" /> <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="DarkOrange" /> <Columns> <asp:BoundField DataField="Users" HeaderText="留言者" HeaderStyle-HorizontalAlign="Center" SortExpression="Users" /> <asp:BoundField DataField="Email" HeaderText="电子邮箱" HeaderStyle-HorizontalAlign="Center" SortExpression="Email" /> <asp:BoundField DataField="Topic" HeaderText="留言主题" HeaderStyle-HorizontalAlign="Center" SortExpression="Topic" /> <asp:BoundField DataField="Guest_Content" HeaderText="留言内容" HeaderStyle-HorizontalAlign="Center" SortExpression="Guest_Content" /> </Columns> <PagerStyle BorderColor="#FFC080" BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="right" /> </asp:GridView> <div style="FONT-SIZE:9pt;text-align:center"> <asp:label id="lblPageCount" runat="server"></asp:label> <asp:label id="lblCurrentIndex" runat="server"></asp:label> <asp:linkbutton id="btnFirst" onclick="PagerButtonClick" runat="server" Font-size="8pt" ForeColor="navy" CommandArgument="0"></asp:linkbutton> <asp:linkbutton id="btnPrev" onclick="PagerButtonClick" runat="server" Font-size="8pt" ForeColor="navy" CommandArgument="prev"></asp:linkbutton> <asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server" Font-size="8pt" ForeColor="navy" CommandArgument="next"></asp:linkbutton> <asp:linkbutton id="btnLast" onclick="PagerButtonClick" runat="server" Font-size="8pt" ForeColor="navy" CommandArgument="last"></asp:linkbutton> </div> <asp:SqlDataSource ID="GuestBookSqlSource" runat="server" ConnectionString="<%$ ConnectionStrings:GuestBookConnectionString %>" SelectCommand="SELECT [Users], [Email], [Topic], [Guest_Content] FROM [Guest_Book]" InsertCommand="INSERT INTO [Guest_Book]([Users], [Email], [Topic], [Guest_Content]) values(@Users,@Email,@Topic,@Guest_Content)"> </asp:SqlDataSource> </ajax:AjaxPanel> </div> <hr style="border-style:dashed; border-color:black;" /> <div> <h3 class="title">签写留言:</h3> <ajax:AjaxPanel ID="AjaxPanel2" runat="server" Width="343px"> <asp:DetailsView ID="LeaveMessage" runat="server" AutoGenerateRows="False" DataSourceID="GuestBookSqlSource" DefaultMode="Insert" Height="50px" Width="500px" BorderWidth="1px" CellPadding="3" OnItemInserted="AddMsg_ItemInserted" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" CellSpacing="2"> <Fields> <asp:BoundField DataField="Users" HeaderText="留言者" SortExpression="Users" /> <asp:BoundField DataField="Email" HeaderText="电子邮箱" SortExpression="Email" /> <asp:BoundField DataField="Topic" HeaderText="留言主题" SortExpression="Topic" /> <asp:TemplateField HeaderText="留言内容:" SortExpression="Guest_Content"> <InsertItemTemplate> <asp:TextBox ID="Content" runat="server" Height="100px" Width="200px" TextMode="MultiLine" Text='<%# Bind("Guest_Content") %>'></asp:TextBox> </InsertItemTemplate> </asp:TemplateField> <asp:CommandField ButtonType="Button" InsertText="发送留言" ShowCancelButton="False" ShowInsertButton="True"> <ItemStyle HorizontalAlign="Center" /> </asp:CommandField> </Fields> <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" /> <RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" /> <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" /> <HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" /> </asp:DetailsView> </ajax:AjaxPanel> <asp:Label ID="ErrorMessageLabel" EnableViewState="false" runat="server" /> </div> </div> </form></body></html> Default.aspx.cs using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { btnFirst.Text = "最首页"; btnPrev.Text = "前一页"; btnNext.Text = "下一页"; btnLast.Text = "最后页"; MessageList.DataBind(); ShowPageChangedStatus(); } private void ShowPageChangedStatus() { lblCurrentIndex.Text = "第" + (MessageList.PageIndex + 1).ToString() + "页"; lblPageCount.Text = "总共 " + MessageList.PageCount.ToString() + " 页"; } public void PagerButtonClick(object sender, EventArgs e) { string arg = ((LinkButton)sender).CommandArgument.ToString(); switch (arg) { case "next": if (MessageList.PageIndex < (MessageList.PageCount - 1)) { MessageList.PageIndex += 1; } break; case "prev": if (MessageList.PageIndex > 0) { MessageList.PageIndex -= 1; } break; case "last": MessageList.PageIndex = (MessageList.PageCount - 1); break; default: MessageList.PageIndex = System.Convert.ToInt32(arg); break; } MessageList.DataBind(); ShowPageChangedStatus(); } protected void MessageList_PageIndexChanging(object sender, GridViewPageEventArgs e) { int startIndex; startIndex = MessageList.PageIndex * MessageList.PageSize; MessageList.PageIndex = e.NewPageIndex; MessageList.DataBind(); ShowPageChangedStatus(); } protected void AddMsg_ItemInserted(object sender, DetailsViewInsertedEventArgs e) { if (e.Exception != null) { ErrorMessageLabel.Text = "签写留言发生错误,请用正确的格式签写留言!"; e.ExceptionHandled = true; } MessageList.DataBind(); } }

评论