0
(Asp.net 4) 我有一個博客,我使用中繼器向每個博客顯示所有博客文章和評論。我試圖改變用戶如何發表評論到博客。我想將每個博客下的評論放在UpdatePanel中,當他們寫評論並點擊保存按鈕時,我想刷新評論,所以他們的新評論將顯示。但是我很難實現這一點。 我在Repeater的ItemTemplate中添加了UpdatePanel,並添加了用於保存評論的文本框和按鈕。每個UpdatePanel都放在一個帶有博客ID的a中。但是我不知道如何創建代碼來保存正確的blog-id的註釋,然後刷新UpdatePanel。保存在一箇中繼器的更新面板內的評論
代碼:
<asp:Repeater ID="RepeaterBlog" runat="server">
<ItemTemplate>
<article>
<% if (repeaterCounter == 0)
{
Response.Write("<header class=\"firstArticleInBlog\">");
}
else
{
Response.Write("<header class=\"normalArticle\">");
}
%>
<h2><%# Eval("article_header") %> <span class="date">
<time datetime="<%# GetPubDate(Eval("article_date")) %>"><%# FormatDate(Eval("article_date")) %></time></span></h2></header>
<p><%# Eval("article_content") %><p><br />
<div class="comments">
<div class="showhidecomments">
<!--<a class="iframe-comments" data-fancybox-type="iframe" href='WriteComments.aspx?BlogId=<%# DataBinder.Eval(Container, "DataItem.id") %>'>Skriv kommentar</a> | -->
<a href="javascript:void(0);" title="i<%# Eval("id") %>">Vis/Skriv kommentarer (<%# CountComments (DataBinder.Eval(Container, "DataItem.id")) %>)</a> | <a href="javascript:void(0);" title="i<%# Eval("id") %>" >Skjul kommentarer</a>
</div>
<section>
<article>
<div id="i<%# Eval("id") %>" style="display: none;">
<asp:UpdatePanel ID="upPanel" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="cmdSaveComment" EventName="Click" />
</Triggers>
<ContentTemplate>
<%# GetComments (DataBinder.Eval(Container, "DataItem.id")) %>
<asp:TextBox ID="txtName" runat="server" />
<asp:TextBox ID="txtComment" runat="server" TextMode="MultiLine" />
<asp:Button ID="cmdSaveComment" runat="server" OnClick="cmdSaveComment_Click" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</article>
</section>
</div>
<% repeaterCounter++; %>
</article>
</ItemTemplate>
</asp:Repeater>
而在後臺代碼:
protected void cmdSaveComment_Click(object sender, EventArgs e)
{
//simplified code:
string name = txtName.Text;
string comment = txtComment.Text;
int blogId = (int)(Eval("DataItem.id"));
dataHandler.NewComment(name, comment, blogId);
}
難道我至少接近的東西在這裏,或者完全是我在錯誤的軌道上?
非常感謝傑克!我現在應該能夠解決這個:) – 2013-04-21 17:34:56