2010-11-19 21 views
2

我需要頁面我的用戶控件 - 8或10組應該看起來不錯。目前,他們是在一個佔位符:如何將分頁添加到用戶控件?

<asp:PlaceHolder ID="ProfileContainer" runat="server"></asp:PlaceHolder> 

而且佔位符填充像這樣:

var model = //LINQ to Entities query 

foreach(var profile in model) { 
    Controls_Profile profile = (Controls_Profile)Page.LoadControl("~/Controls/Profile.ascx"); 

    profile.Name = model.Name; 
    //more properties 
    ProfileContainer.Controls.Add(profile); 
} 

我怎樣才能頁面的結果我有數百個配置文件的事件?我發現的大多數帖子都與創建只是頁面的自定義分頁控件有關。

我想過創建一個計數器,該計數器會預設第一個控件<div id="Group1">。在8或10個對照後,追加</div>。我可以使用jQuery插入前一個/下一個鏈接,並根據組號來控制流量。但是,當控件被添加時,我該怎麼做Response.Write("<div id="groupx">");?那將如何工作?

+0

您可以創建一個函數,該函數返回填充了您的自定義控件的DataTable,並將其設置爲GridView的數據源。這將允許您使用GridView的分頁功能。 – clifgriffin 2010-11-19 15:38:46

回答

0

關於我的評論:

public DataTable getControls() 
{ 
    DataTable dt = new DataTable(); 
    //Code to populate table 
    return dt; 
} 

和:

<asp:GridView ID="YourGridView" AllowPaging="true" DataSource='<%# getControls() %>'></asp:GridView> 

我擔心你的數據源必須具有某種類型的枚舉接口,以便呼叫工作,雖然。

如果失敗了,我建議你閱讀常見的分頁技術並實現一些手冊。沒有你想象的那麼難。

+0

我的模型不是可枚舉的,所以這可能不起作用。 – 2010-11-20 00:11:26

+0

如何讓這個集合可枚舉? – 2010-11-23 20:30:41

相關問題