2012-09-13 2 views
1

사전 렌더링을 사용하면 문제가 발생합니다 .. 필요하지 않다면 좋을 것 같습니다 .. 문제는 사용자 컨트롤에 목록이 있고 다음 페이지 '로 이동하면 데이터 바인딩 .. 다음있는 DataPager의 사전 렌더링 ..도에 .. batabind을 수행 그래서 그때 않습니다 아무것도 ..DataPager에서 Pre-Render 이벤트가 필요한 이유는 무엇입니까 ??

어떤 생각 다음 '페이지'를 클릭 있습니다 .. 사전 렌더링 제거하는 경우가

.. 두 번 실행되는?

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

예. . 그런 식으로 편도 .. 바보 같은 짓을하고 어려운 일을하고있는 걸 깨달 았어 .. 페이지에서 컨트롤을 구속했다. 때도 필요하지 않았을 때 .. 페이지에서중인 사용자 정의 컨트롤이 충분했다 .. 외부에서 바인딩 할 필요가 없습니다. – punkouter

관련 문제