我在页面上有一个转发器控件,我用数据库中的10条记录填充。页面上还有一个按钮;两者都在更新面板内。更多按钮带来数据库中的下10条记录。我想要做的就是将新的10条记录附加到转发器中的现有10条记录中。我该怎么做?
我需要它像Twitter和Facebook一样工作并加载服务器端控件,同时将新记录附加到转发器控件而不进行分页。
这是我的.aspx代码:
<asp:repeater id="repStd" runat="server" onitemcommand="repStd_ItemCommand"
onitemdatabound="rptCore_ItemDataBound">
<HeaderTemplate>
<asp:Label ID="lnkStdName" runat="server" CommandName="Name"
CssClass="hrefclass">Name</asp:Label>
</HeaderTemplate>
<ItemTemplate>
<div class="headParent" id="STHeader" runat="server">
<asp:Label ID="lblStdName" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "Project_Name") %>'></asp:Label>
</div>
<div class="contentParent" id="STcontent" runat="server">
<asp:UpdatePanel ID="UpdatePanelST" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
<ContentTemplate>
<cc1:AsyncFileUpload ID="STAsyncFileUpload_Pdf" runat="server" Width="500px"
CompleteBackColor="White" OnClientUploadError="STuploadError" OnClientUploadComplete="STuploadComplete"
OnClientUploadStarted="STUploadedStartedPdfFile" UploadingBackColor="#CCDDEE"
UploaderStyle="Modern" ThrobberID="STinProgress"
OnUploadedComplete="STPdf_FileUploadComplete" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</ItemTemplate>
</asp:repeater>
我的itemdatabound:
public void rptCore_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//load controls data and calculations here.. like fileupload control etc
}
答案 0 :(得分:0)
根据您的要求,通过调用for/Foreach
结构代替转发器来使用table/div
循环。
为您的逻辑调用最后一个索引的10条记录,并添加到table/div
。
这将解决您的问题,并且在不出现任何性能问题的情况下非常有效。
例如。遵循以下逻辑 -
DataTable dt = GetYourRows();
String html = "";
foreach(DataRow dr in dt.Rows)
{
html += "<div>"+dr["column"].ToString();+"</div>";
}
然后在现有HTML代码中的任意位置使用html