//前台代码
<div id="commentContainer">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<%# (Container.DataItem as Comment).Content %><br />
<i><%# (Container.DataItem as Comment).Time %></i>
<hr />
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
</div>
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="Add Comment" OnClick="Button1_Click" />
<script language="javascript" type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(
function(sender, e)
{
var upId = "<%= this.UpdatePanel1.ClientID %>";
var refreshedPanels = e.get_panelsUpdated();
for (var i = 0; i < refreshedPanels.length; i++)
{
if (refreshedPanels[i].id == upId)
{
refreshedPanels[i].id = upId + Math.floor(9999 * Math.random());
var div = document.createElement("div");
div.id = upId;
$get("commentContainer").appendChild(div);
return;
}
}
});
</script>
//后台代码<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<%# (Container.DataItem as Comment).Content %><br />
<i><%# (Container.DataItem as Comment).Time %></i>
<hr />
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
</div>
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="Add Comment" OnClick="Button1_Click" />
<script language="javascript" type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(
function(sender, e)
{
var upId = "<%= this.UpdatePanel1.ClientID %>";
var refreshedPanels = e.get_panelsUpdated();
for (var i = 0; i < refreshedPanels.length; i++)
{
if (refreshedPanels[i].id == upId)
{
refreshedPanels[i].id = upId + Math.floor(9999 * Math.random());
var div = document.createElement("div");
div.id = upId;
$get("commentContainer").appendChild(div);
return;
}
}
});
</script>
private static List<Comment> Comments;
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
// 在第一次打开页面时清空所有Comments。
// 古怪的用法,仅在这个示例时这么用。
Comments = new List<Comment>();
this.BindComments();
}
}
private void BindComments()
{
this.Repeater1.DataSource = Comments;
this.Repeater1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
Comment comment = new Comment();
comment.Content = this.TextBox1.Text;
comment.Time = DateTime.Now;
// Comments.Add(comment);
this.Repeater1.DataSource = new Comment[] { comment };
// this.BindComments();
this.Repeater1.DataBind();
}
//实体类
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
// 在第一次打开页面时清空所有Comments。
// 古怪的用法,仅在这个示例时这么用。
Comments = new List<Comment>();
this.BindComments();
}
}
private void BindComments()
{
this.Repeater1.DataSource = Comments;
this.Repeater1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
Comment comment = new Comment();
comment.Content = this.TextBox1.Text;
comment.Time = DateTime.Now;
// Comments.Add(comment);
this.Repeater1.DataSource = new Comment[] { comment };
// this.BindComments();
this.Repeater1.DataBind();
}
public class Comment
{
public string Content;
public DateTime Time;
}
{
public string Content;
public DateTime Time;
}
浙公网安备 33010602011771号