您的位置:首页 > 其它

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

2012-12-03 14:35 288 查看
假设在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" onkeyup='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"  onchange="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 = "";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: