正文

用magicajax做的一个简单提高用户体验的留言2007-05-31 21:25:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/goalbell/26299.html

分享到:

界面图:   代码如下: 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>&nbsp;  <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>&nbsp;  <asp:linkbutton id="btnPrev" onclick="PagerButtonClick" runat="server"    Font-size="8pt" ForeColor="navy" CommandArgument="prev"></asp:linkbutton>&nbsp;  <asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server"   Font-size="8pt" ForeColor="navy" CommandArgument="next"></asp:linkbutton>&nbsp;  <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();     }    }    

阅读(7251) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册