我在Listview中添加了DataPager控件。显示数据时没有问题。但当我点击下一页按钮时,我收到错误。
错误:除非指定了SelectMethod,否则ObjectDataSource'ObjectDataSource2'不支持Select操作。
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
FillGrid();
}
private void FillGrid()
{
User user = new User();
user = (User)HttpContext.Current.Session["login"];
ObjectDataSource2.SelectMethod = "GetDetails";
ObjectDataSource2.SelectParameters.Add("Customer_ID", DbType.Int32, Convert.ToString(user.Customer_ID));
ObjectDataSource2.SelectParameters.Add("Selected_Period", DbType.String, Convert.ToString(Request.QueryString["period"]));
ObjectDataSource2.TypeName = "Online.Lib.Invoice";
}
CodeBeside:
<asp:ListView ID="ListView1" runat="server" DataSourceID="ObjectDataSource2">
<LayoutTemplate>
<asp:DataPager ID="DataPager1" PagedControlID="ListView1" runat="server">
<Fields>
<asp:NumericPagerField ButtonCount="10" />
<asp:NextPreviousPagerField FirstPageText="İlk" LastPageText="Son" NextPageText="İleri" PreviousPageText="Geri" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
</asp:ListView>
答案 0 :(得分:0)
确定。您的FillGrid()运行良好,您可以通过Page_Load例程加载它的数据。当您单击ListView的“下一页”时,您正在进行PostBack。
if(!IsPostBack)
FillGrid();
}
..这意味着没有加载FillGrid()(这是ObjectDataSource有它的Select指令的地方)。这是我在上面的代码片段中看到的内容。在IsPostBack处理中犯这样的错误很常见。