我想实现想QQ空间心情回复的一样的功能,具体是我回复一个好友的心情,提交后只是我提交的这一段信息刷新,不是整个页面都刷新

解决方案 »

  1.   

    用ajax+jQuery实现异步刷新即可
      

  2.   

    用ajax提交数据,然后用jquey或者javascript进行dom操作,在留言哪儿增加一条信息。
      

  3.   

    repeater 留言版
    前台
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default23.aspx.cs" Inherits="Default23" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
         <title>无标题页</title>
    </head>
    <body style="font-size: 9pt; font-family: 宋体;">
         <form id="form1" runat="server">
             <div>
                 <asp:Repeater ID="Repeater1" runat="server" >
                     <HeaderTemplate>
                         <table style="border: 1px solid 1px;">
                             <tr style="color:#ffffff; background:#5586E9;">
                                 <td align="center">
                                     这是我的头哦</td>
                                 <td>
                                     姓名</td>
                             </tr>
                     </HeaderTemplate>
                     <ItemTemplate>
                         <tr>
                             <td align="center">
                                 <%#Eval("id") %>
                             </td>
                             <td align="center">
                                <a href='detail.aspx?id=<%#Eval("id") %>'> <%#DataBinder.Eval(Container.DataItem, "personnames")%></a>
                             </td>
                         </tr>
                     </ItemTemplate>
                     <SeparatorTemplate>
                         <tr>
                             <td align="center" colspan="2">
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^</td>
                         </tr>
                     </SeparatorTemplate>
                     <AlternatingItemTemplate>
                         <tr>
                             <td align="center">
                                 <font color="red">
                                     <%#DataBinder.Eval(Container.DataItem, "id")%>
                                 </font>
                             </td>
                             <td align="center">
                                <a href='detail.aspx?id=<%#Eval("id") %>'><font color="red"> <%#Eval("personnames")%></font></a>
                             </td>
                         </tr>
                     </AlternatingItemTemplate>
                     <FooterTemplate>
                         <tr>
                             <td align="right" colspan="2">
                             这个是脚
                             </td>
                         </tr>
                         </table></FooterTemplate>
                 </asp:Repeater><asp:Label ID="lbl_cur" runat="server"></asp:Label>&nbsp; |&nbsp;
                 <asp:Label ID="lbl_all" runat="server"></asp:Label>&nbsp; |&nbsp;
                 <asp:Label ID="lbl_record" runat="server"></asp:Label>
                 <asp:LinkButton ID="lbuttom_f" runat="server" OnClick="lbuttom_f_Click"><<<</asp:LinkButton>&nbsp;
                 <asp:LinkButton ID="lbutton_p" runat="server" OnClick="lbutton_p_Click"><</asp:LinkButton>&nbsp;不知道怎么搞的,最后一页和第一页不行。
                 <asp:LinkButton ID="lbutton_n" runat="server" OnClick="lbutton_n_Click">></asp:LinkButton>&nbsp;
                 <asp:LinkButton ID="Lbutton_l" runat="server" OnClick="Lbutton_l_Click">>>></asp:LinkButton>
             </div>
         </form>
    </body>
    </html>
    后台using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    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;
    using System.Data.OleDb;public partial class Default23 : System.Web.UI.Page
    {
         protected void Page_Load(object sender, EventArgs e)
         {
             if (!IsPostBack)
             {
               
                 lbl_cur.Text = "1";
                 bindToDataSource();
             }
         }
         protected void bindToDataSource()/*这边是个方法。直接把分页设定和pageddatasource都结合起来了,通过label传值*/
         {
             OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("App_Data/mdb.mdb"));
             conn.Open();
             OleDbDataAdapter oda = new OleDbDataAdapter("SELECT id, personnames, personpwds, realname FROM person", conn);
             DataSet ds = new DataSet();
             oda.Fill(ds, "person");
             PagedDataSource ps = new PagedDataSource();
             ps.DataSource = ds.Tables["person"].DefaultView;
             ps.AllowPaging = true;
             ps.PageSize = 10;
             int currpage = Convert.ToInt32(lbl_cur.Text);
             lbl_all.Text = ps.PageCount.ToString();
             lbl_record.Text = ps.DataSourceCount.ToString();
             ps.CurrentPageIndex = currpage - 1;
             lbutton_n.Enabled = true;
             lbutton_p.Enabled = true;
             lbuttom_f.Enabled = true;
             Lbutton_l.Enabled = true;
             if (currpage == 1)
             {
                 lbutton_p.Enabled = false;
                 lbuttom_f.Enabled = false;
             }
             if (currpage == ps.PageCount)
             {
                 lbutton_n.Enabled = false;
                 Lbutton_l.Enabled = false;
             }
             Repeater1.DataSource = ps;
             Repeater1.DataBind();     }
         protected void lbutton_p_Click(object sender, EventArgs e)
         {
             lbl_cur.Text = Convert.ToString(Convert.ToInt32(lbl_cur.Text) - 1);
             bindToDataSource();
         }
         protected void lbutton_n_Click(object sender, EventArgs e)
         {
             lbl_cur.Text = Convert.ToString(Convert.ToInt32(lbl_cur.Text) + 1);
             bindToDataSource();
         }
         protected void lbuttom_f_Click(object sender, EventArgs e)
         {
             lbl_cur.Text = "1";
             bindToDataSource();
         }
         protected void Lbutton_l_Click(object sender, EventArgs e)
         {
             lbl_cur.Text=lbl_record.Text;
             bindToDataSource();
         }
    }
    参考
    会做了 结合updatepanel 这个是最简单的也可以直接用jquery 留言版插件来做
      

  4.   

    用ajax可以实现,不过微软有自带的控件,很好用。
    类似这个例子http://blog.csdn.net/loveheronly/article/details/6669660就是无刷新的