我在DetailsView控件,在编辑其FooterTemplate项时,拖放了上一页,下一页两个连接按钮,想要实现其分页功能,DataBound事件部分代码如下: protected void Edit_DataBound(object sender, EventArgs e)
{
////取得显示数据的那一行
DetailsViewRow pagerRow = this.DetailsView1.BottomPagerRow;
////取得上一页,下一页的链接按钮
LinkButton linkPrevBtn = (LinkButton)pagerRow.Cells[0].FindControl("linkPrevBtn");
LinkButton linkNextBtn = (LinkButton)pagerRow.Cells[0].FindControl("linkNextBtn");
//设置何时禁用上一页下一页
if (this.DetailsView1.PageIndex == 0)
{[code=C#]
linkPrevBtn.Enabled = false;
}
if (this.DetailsView1.PageIndex == this.DetailsView1.PageCount-1)
{
linkNextBtn.Enabled = false;
}
else if (this.DetailsView1.PageCount <= 0)
{
//linkPrecBtn.Enabled = false;
linkNextBtn.Enabled = false;
}
[/code]
<asp:LinkButton ID="linkPrevBtn" runat="server" Font-Bold="True" ForeColor="#CCCCCC" CommandArgument="Prev" CommandName="Page">上一页</asp:LinkButton>
<asp:LinkButton ID="linkNextBtn" runat="server" Font-Bold="True"
ForeColor="#CCCCCC" CommandArgument="Next" CommandName="Page" >下一页</asp:LinkButton>
可是运行的时候一直报错 “未将对象引用设置到对象的实例。”
求教这是为什么?我该怎样做,才能实现分页功能?
{
////取得显示数据的那一行
DetailsViewRow pagerRow = this.DetailsView1.BottomPagerRow;
////取得上一页,下一页的链接按钮
LinkButton linkPrevBtn = (LinkButton)pagerRow.Cells[0].FindControl("linkPrevBtn");
LinkButton linkNextBtn = (LinkButton)pagerRow.Cells[0].FindControl("linkNextBtn");
//设置何时禁用上一页下一页
if (this.DetailsView1.PageIndex == 0)
{[code=C#]
linkPrevBtn.Enabled = false;
}
if (this.DetailsView1.PageIndex == this.DetailsView1.PageCount-1)
{
linkNextBtn.Enabled = false;
}
else if (this.DetailsView1.PageCount <= 0)
{
//linkPrecBtn.Enabled = false;
linkNextBtn.Enabled = false;
}
[/code]
<asp:LinkButton ID="linkPrevBtn" runat="server" Font-Bold="True" ForeColor="#CCCCCC" CommandArgument="Prev" CommandName="Page">上一页</asp:LinkButton>
<asp:LinkButton ID="linkNextBtn" runat="server" Font-Bold="True"
ForeColor="#CCCCCC" CommandArgument="Next" CommandName="Page" >下一页</asp:LinkButton>
可是运行的时候一直报错 “未将对象引用设置到对象的实例。”
求教这是为什么?我该怎样做,才能实现分页功能?
后台 protected void Edit_DataBound(object sender, EventArgs e)
{
////取得显示数据的那一行
DetailsViewRow pagerRow = this.DetailsView1.BottomPagerRow;
////取得上一页,下一页的链接按钮
LinkButton linkPrevBtn = (LinkButton)pagerRow.Cells[0].FindControl("linkPrevBtn");
LinkButton linkNextBtn = (LinkButton)pagerRow.Cells[0].FindControl("linkNextBtn");
//设置何时禁用上一页下一页
if (this.DetailsView1.PageIndex == 0)
{
linkPrevBtn.Enabled = false;
}
if (this.DetailsView1.PageIndex == this.DetailsView1.PageCount-1)
{
linkNextBtn.Enabled = false;
}
else if (this.DetailsView1.PageCount <= 0)
{
//linkPrecBtn.Enabled = false;
linkNextBtn.Enabled = false;
}前台<asp:LinkButton ID="linkPrevBtn" runat="server" Font-Bold="True"
ForeColor="#CCCCCC" CommandArgument="Prev" CommandName="Page">上一页</asp:LinkButton>
<asp:LinkButton ID="linkNextBtn" runat="server" Font-Bold="True"
ForeColor="#CCCCCC" CommandArgument="Next" CommandName="Page" >下一页</asp:LinkButton>
这一句就开始错了
protected void DetailsView1_DataBound(object sender, EventArgs e)
{
DetailsView dv= (DetailsView)sender;
Label lbl= DetailsView.FindControl("Label1") as Label;
}
http://msdn.microsoft.com/zh-cn/library/ms227992.aspx
一定要放在<FooterTemplate></FooterTemplate>中,获取该控件的代码是:
LinkButton linkPrevBtn = (LinkButton)DetailsView1.FooterRow.FindControl("linkPrevBtn");
LinkButton linkPrevBtn = (LinkButton)DetailsView1.FooterRow.FindControl("linkPrevBtn");
可是我写的好像也没错啊,这是为什么呢?去看看MSDN好了,自己找答案去,O(∩_∩)O~封贴