设置Gridview,Repter...中的linkbutton按钮不可用

35 篇文章 0 订阅

假设在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 = "";
            }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值