我有一个顶部带有参数的搜索页面和底部带有结果的搜索按钮。整个内容都包含在母版页内的更新面板中。单击搜索按钮后,它会显示第一页。但是,如果您单击 DataPager 上的下一步按钮,它不会显示第二页。它没有显示第二页的结果。任何帮助将不胜感激。
问问题
10522 次
5 回答
3
我认为尼克的想法是正确的。听起来您正在执行搜索并在搜索按钮的 OnClick 方法中填充 ListView。您需要执行搜索(或者最好是第一次缓存数据)并将其绑定到使用 DataPager 请求的每个新页面的 ListView。
您可以通过为 ListView 的 OnPagePropertiesChanged 事件创建一个方法来相当容易地做到这一点。执行搜索(或从缓存中提取)并将 ListView 绑定到该 OnPagePropertiesChanged 事件中,您的数据应该会填充。您的 C# 代码可能如下所示:
protected void SearchButton_OnClick(object sender, EventArgs e)
{
PerformSearch();
}
protected void PerformSearch()
{
// ...Get your data.... //
ListView1.DataSource = data;
ListView1.DataBind();
}
protected void ListView1_OnPagePropertiesChanged(object sender, EventArgs e)
{
PerformSearch();
}
于 2009-04-14T17:59:19.457 回答
1
听起来您的控件在回发中没有绑定,您在哪个事件中执行 DataBind(),它是否在
if(!IsPostBack) { }
某种包装?
于 2009-03-19T16:41:32.853 回答
0
请确保您的页面更改事件已在脚本管理器中注册,因为它不受更新面板的控制。ScriptManager.RegisterAsyncPostBackControl(DatePager 控件);
于 2009-01-08T15:45:14.727 回答
0
在更新面板的底部执行以下操作:
<Triggers>
<asp:PostBackTrigger ControlID="DataPager1" />
</Triggers>
</asp:UpdatePanel>
于 2009-02-05T23:28:16.270 回答
0
DataPager
在数据控件 where 上使用 a 时,我遇到了类似的问题EnableViewState=false
。
于 2009-12-02T15:01:00.520 回答