如何获得隐藏值与分页在gridview

本文关键字:分页 gridview 何获得 隐藏 | 更新日期: 2023-09-27 18:17:33

当在第一页时,可以获得hiddenvalue。所以,没有问题,但在页面索引更改后,用户无法获取hiddenfieldvalue。İt显示关于"System. net"的错误。参数outofrangeexception "当试图获取隐藏值

(string sValue = ((HiddenField)GridView1.Rows[rowIndex].FindControl("HiddenField1")).Value;

asp的一面:

        <Columns>
           <asp:BoundField DataField="sayfa_adeti" HeaderText="SAYFA ADETİ"  ItemStyle-HorizontalAlign="Center" ItemStyle-Width="60px"></asp:BoundField>
              </asp:BoundField>
   <asp:HiddenField ID="HiddenField1" runat="server"Value='<%#Eval("ID")%>'</asp:HiddenField>   
  protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    getOncekiFotokopiTalepler();//fillGrid
    GridView1.PageIndex = e.NewPageIndex;
    GridView1.DataBind();
}

c#的一面

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    //int rowIndex = Convert.ToInt32(e.CommandArgument);
    int rowIndex = Convert.ToInt32(e.CommandArgument.ToString().Trim());

    if (e.CommandName == "Goruntule")
    {
        string sValue = ((HiddenField)GridView1.Rows[rowIndex].FindControl("HiddenField1")).Value;
        GridViewRow gvRow = GridView1.Rows[rowIndex];
        Session["SELECTED_FOTOKOPI_TALEP_ID"] = sValue;
        Response.Redirect("~/fotokopiTalebimiGor.aspx");
    }
}

如何获得隐藏值与分页在gridview

试试:

int rowIndex = Convert.ToInt32(e.CommandArgument) % GridView1.PageSize;

您可以尝试使用CommandSource。

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    var control = e.CommandSource as Control;
    var gridViewRow = control.NamingContainer as GridViewRow;
    int rowIndex = gridViewRow.RowIndex;
    ....
}