假设在Gridview中的分页控件中有linkbutton:
<PagerTemplate>
当前第:<asp:Label ID="lblCurrentPage" runat="server" Text="<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>">
</asp:Label>页 |
一共:
<asp:Label ID="lblAllPage" runat="server" Text="<%#((GridView)Container.Parent.Parent).PageCount %>"></asp:Label>页
<asp:LinkButton ID="lnkFirstPage" runat="server" OnClientClick="return clearData();"
CommandName="Page" CommandArgument="First"
Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex != 0 %>">第一页</asp:LinkButton>
<asp:LinkButton ID="lnkUpPage" runat="server" OnClientClick="return clearData();"
CommandName="Page" CommandArgument="Prev" Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex != 0 %>">上一页</asp:LinkButton>
<asp:LinkButton ID="lnkDownPage" runat="server" OnClientClick="return clearData();"
CommandName="Page" CommandArgument="Next" Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex != ((GridView)Container.Parent.Parent).PageCount - 1 %>">下一页</asp:LinkButton>
<asp:LinkButton ID="lnkLastPage" runat="server" OnClientClick="return clearData();"
CommandName="Page" CommandArgument="Last" Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex != ((GridView)Container.Parent.Parent).PageCount - 1 %>">最后一页</asp:LinkButton>
跳转到:
<asp:TextBox ID="txtNeedPage" Width="20px" runat="server" οnkeyup='value=value.replace(/[^\d]/g,"") '
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
Text="<%#((GridView)Container.Parent.Parent).PageIndex + 1 %>"></asp:TextBox>
<asp:LinkButton ID="lnkGoto" runat="server" CommandName="Page" OnClientClick="return clearData();"
CommandArgument="-2">Go</asp:LinkButton>
跳转到:
<asp:DropDownList ID="ddlNeedPage" runat="server" οnchange="javascript:selectChange();"
AutoPostBack="true" OnSelectedIndexChanged="ddlNeedPage_SelectedIndexChanged">
</asp:DropDownList>
</PagerTemplate>
设置了当在首页的时候:“首页”,“第一页”不可点击,虽然按钮已经禁用了!
但事实上:他还是可以点击的,不信你试试!!!
经过调试:发现LinkButton首页 lnkFirstPage的OnClientClick居然还有值!
解决办法:在Gridview的_gvGuest_RowDataBound让OnClientClick为空就行了!
LinkButton lnkFirstPage = e.Row.FindControl("lnkFirstPage") as LinkButton;
if (lnkFirstPage.Enabled == false)
lnkFirstPage.OnClientClick = "";
if (e.Row.RowType == DataControlRowType.Pager)
{
LinkButton lnkFirstPage = e.Row.FindControl("lnkFirstPage") as LinkButton;
if (lnkFirstPage.Enabled == false)
lnkFirstPage.OnClientClick = "";
LinkButton lnkUpPage = e.Row.FindControl("lnkUpPage") as LinkButton;
if (lnkUpPage.Enabled == false)
lnkUpPage.OnClientClick = "";
LinkButton lnkDownPage = e.Row.FindControl("lnkDownPage") as LinkButton;
if (lnkDownPage.Enabled == false)
lnkDownPage.OnClientClick = "";
LinkButton lnkLastPage = e.Row.FindControl("lnkLastPage") as LinkButton;
if (lnkLastPage.Enabled == false)
lnkLastPage.OnClientClick = "";
}