私はあなたのアイデアが十分に良いと思います。
各ページのすべての要素を異なるdivに配置するだけです。
$("#page1").show();
$(".divpage").hide(); //this hides all other divs
編集:
jQueryのコードは次のようになり
<div id="page1" class="divpage">
page 1 html here
</div>
<div id="page2" class="divpage">
page 2 html here
</div>
など
:その後のような、div要素に容易に識別可能であるクラスまたはID属性を与えます
これを動的に実行するには、結果リストに関連付けられた強く型付けされたビューを作成します。以下のためにその後
<%int resultsPerPage = 10;
int currentResults = 0;
int numPage=0;
foreach(var item in Model)
{
if (currentResults==0) Response.Write("<div id=\"page"+numPage+"\" class=\"divpage\">");
%>
<%=item.score.ToString()%>
<%=item.data%>
<%currentResults++;
if (currentResults>resultsPerPage)
{
numPage++;
currentResults=0;
Response.Write("</div>");
}
}%>
<%if (currentResults!=0) Response.Write("</div>");%>
:次に、あなたのビューでは、あなたがこれを置く
public class Result
{
int score {get;set;}
string data {get;set;}
}
: "結果が" あなたのクラスであることで
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<Result>>" %>
:ビューのヘッダのようなものでなければなりませんあなたのボタン:
<%for (int i=0;i<numPage;i++)
{
%>
<a href="" onclick="showPage('<%=i%>');return false;">Page <%=i%></a>
<%}%>
<script type="text/javascript">
function showPage(num)
{
$("#page"+num).show();
$(".divpage").hide();
}
</script>
最後に、あなたのコントローラーで:
public ActionResult ShowResults()
{
List<Result> results = getResultsOrdererdByScoreFunction();
return View(results);
}
考慮すべき別のアイデアが追加されました。 – redsquare