As the commenter says you do need paging
You would need to use the PagedDataSource
as the data source for the repeater. This link shows how. Because the repeater doesn't offer any 'out of the box' paging control you are free to code up whatever paging control you want - in your case the more button. From the link the databind would be something like
pagedDataSource page = new PagedDataSource();
page.AllowCustomPaging = true;
page.AllowPaging = true;
page.DataSource = query;
page.PageSize = 10;
Repeater1.DataSource = page;
Repeater1.DataBind();
Your paging might be something linq
protected btnMoreClick(object sender, EventArgs e)
{
//.. get the source
var dataSource = GetDataSource()
//.. page it - i.e. use link
dataSource.Skip(currentPage * pageSize).Take(pageSize)
//.. now bind the source again
//.. your code
}
Please note the above is pseudocode just to give you the idea and get you started.
ALSO
I posted a previous answer about efficient paging which I think would be relevant in your case.
Hope this helps