【发布时间】:2012-07-22 09:25:41
【问题描述】:
我有一个 asp.net 中继器控件。我必须在中继器中只显示 5 行。我在 Google 中搜索过它,但大多数资源都在谈论如何使用 DataSet 来实现。就我而言,我使用的是 SqlDataSource。 所以我可以在这个 Repeater 控件中进行分页吗?
ASP.NET 代码:
<asp:Repeater ID="Repeater3" runat="server" DataSourceID="SqlDataSource3">
<HeaderTemplate>
<div>
<table border="1">
<thead>
<tr>
<td colspan="3">
<center> <strong>Safety Quizzes Record</strong> </center>
</td>
</tr>
<tr>
<td>
<center> <strong>Quiz Title</strong> </center>
</td>
<td>
<center> <strong>Date & Time</strong> </center>
</td>
<td>
<center> <strong>Score</strong> </center>
</td>
</tr>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<p>
<%# Eval("Title") %>
</p>
</td>
<td>
<p>
<%# Eval("DateTimeComplete") %>
</p>
</td>
<td>
<p>
<%# Eval("Score") %>
</p>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</div>
</FooterTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource3" runat="server"
ConnectionString="<%$ ConnectionStrings:testConnectionString %>" SelectCommand="SELECT dbo.Quiz.Title, dbo.UserQuiz.DateTimeComplete, dbo.UserQuiz.Score
FROM dbo.employee INNER JOIN
dbo.UserQuiz ON dbo.employee.Username = dbo.UserQuiz.Username INNER JOIN
dbo.Quiz ON dbo.UserQuiz.QuizID = dbo.Quiz.QuizID
WHERE (dbo.employee.Username = @Username)">
<SelectParameters>
<asp:Parameter Name="Username" />
</SelectParameters>
</asp:SqlDataSource>
更新:
我想要的是在中继器中只显示 5 个项目,其他项目将在中继器的其他页面上列出。那么我如何才能像上面提到的那样使用 SqlDataSource 进行分页。
【问题讨论】:
-
-1 不要更改已发布答案下的问题。如果您有其他问题,请将其作为新问题发布。
-
同一个问题。在告诉我应该做什么以及如何使用这个社区之前,请仔细阅读它。
-
您的标题具有误导性。这意味着您希望只有五行 total 而您真正的问题是如何在转发器控件中启用分页。下次请确保标题与问题相匹配,这样可以节省您的反对票。
-
阅读问题的第二句,其中明确指出您必须仅显示五行。我回答了这个问题,并因此而被否决。你可以随心所欲地使用社区,但如果你一直惹恼那些试图帮助你的人,你将得不到多少帮助。
标签: c# asp.net sql-server-2008-r2 sqldatasource