如何获得隐藏值与分页在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");
}
}
试试:
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;
....
}