2012-09-13 31 views
1

不得不使用預渲染導致我的問題..這將是偉大的,如果我不需要它..問題是我有用戶控件中的列表,當我轉到下一個'頁面'我databind ..但那麼DataPager的預呈現..這也做了batabind ..所以它運行兩次..爲什麼DataPager需要預渲染事件?

如果我刪除了預渲染..然後點擊Next「頁」什麼都不做..

任何想法?

protected void Page_Load(object sender, EventArgs e) 
{ 
    GetSearchResults(); 
} 

//protected void dpMembers_PreRender(object sender, EventArgs e) 
//{ 
// GetSearchResults(); 
//} 

public void GetSearchResults() 
{ 
    List<Person> listPerson = new List<Person>(); 
    string strServer = "localhost"; 
    string strAppPath = Server.MapPath("/"); 
    PersonBusiness pb = new PersonBusiness(new PersonRepository()); 
    listPerson = pb.GetAllPersons(strServer, strAppPath); 
    lvPersons.DataSource = listPerson; 
    lvPersons.DataBind(); 
} 
+0

我不認爲Pre_Render是更新控件所用數據的正確位置。與分頁有關的其餘代碼是什麼樣的? –

回答

3

修改您的頁面加載到

保護無效的Page_Load(對象發件人,EventArgs的){ 如果 (Page.IsPostBack!) { GetSearchResults(); } }

你的預渲染似乎沒問題。

+1

是的,IsPostBack是解決方案。 –

+1

是的。 .thats一種方式..即時通訊愚蠢,並意識到我正在做的事情困難的方式..我綁定了頁面的控制..當甚至不需要..只是在頁面上的用戶控件是足夠好..無需從外部綁定它。 – punkouter