我想获取特定列的 gridview 选定行的值,并将该值用于跨页发布 - 如何实现?

I want to get value of selected row of gridview for specific column and use that value for crosspage posting - how to implement this?

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    GridViewRow row = GridView1.SelectedRow;
    string tenderno = row.Cells[1].Text;
    Response.Redirect("crossPage.aspx?tenderno=" + tenderno);
}

我正在为 gridview 使用自动生成的列。我无法在另一页上获取值。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" 
     AutoGenerateSelectButton="True" 
     OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
</asp:GridView>

用过这个但是 SelectedIndexChanged() 不工作。

<asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" AutoGenerateColumns="true">
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <a href="<%#"crossPage.aspx?tenderno="+DataBinder.Eval(Container.DataItem,"tender_no") %>">Select</a>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>  

我用过这个,它对我有用,但它在 url 上显示了价值。有没有其他方法可以在 url.

中不显示价值

您可以使用不显示按钮 link。

<ItemTemplate>
    <button type="button" onclick='location.href="<%#"crossPage.aspx?tenderno="+DataBinder.Eval(Container.DataItem,"tender_no") %>"'> Select</button>
</ItemTemplate>