为什么DataPager需要Pre-Render事件才能工作?

时间:2012-09-13 14:39:27

标签: asp.net listview paging datapager

必须使用pre渲染会导致我出现问题..如果我不需要它会很棒..问题是我在用户控件中有列表,当我转到下一个'page'时,我数据绑定..但随后数据采集器预渲染..这也是一个batabind ..所以它运行了两次..

如果我删除prerender ..然后点击下一页'page'什么都不做..

有什么想法吗?

   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();
}

1 个答案:

答案 0 :(得分:3)

将您的网页加载修改为

protected void Page_Load(object sender,EventArgs e) {   如果(!Page.IsPostBack)   {     GetSearchResults();   } }

你的预呈现似乎没问题。