gpt4 book ai didi

c# - 无法将类型为 'System.Web.UI.WebControls.GridView' 的对象转换为类型 'System.Web.UI.WebControls.LinkButton'

转载 作者:太空宇宙 更新时间:2023-11-03 13:08:23 31 4
gpt4 key购买 nike

奇怪的错误。我有一个添加了分页的 gridview。

<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False" AllowPaging="True" OnPageIndexChanging="gv_PageIndexChanging" OnRowCommand="gv_RowCommand" OnRowDataBound="gv_RowDataBound" PageSize="3" GridLines="None" EmptyDataText="No data available." ShowHeader="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="linkButton" runat="server" Text="Add"></asp:LinkButton><br />

它可以很好地加载第一页,但是,如果我尝试转到第 2、3 页,它会给我错误

Unable to cast object of type 'System.Web.UI.WebControls.GridView' to type 'System.Web.UI.WebControls.LinkButton'.

    protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
{

GridViewRow Row = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer); //error

if (e.CommandName == "Add")
{
....
}
}

protected void gv_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gv.PageIndex = e.NewPageIndex;
gv.DataBind();
}

我以为是因为 GridViewRowe.CommandName 之外,所以我把它移到了里面,然而,当我点击时,它只是显示“没有可用数据”消息在分页上。

最佳答案

我现在已经解决了,问题出在PageIndexChanging。因为我有一个用于绑定(bind)网格的公共(public)类,所以我调用了它而不是 gv.DataBind。

protected void gv_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gv.PageIndex = e.NewPageIndex;
BindData();
}

关于c# - 无法将类型为 'System.Web.UI.WebControls.GridView' 的对象转换为类型 'System.Web.UI.WebControls.LinkButton',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30013057/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com