gpt4 book ai didi

c# - 如何同时使用 session 将 GridView 的选定值传递到另一个页面

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

首先,我是一名新的 C# 开发人员,我需要一些帮助,我的 aspx 文件中有一个带有 SqlDataSource 的 GridView ,其中包含 3 列 ID/Name/Job 和几条记录(行)。当用户选择一行时,我想重定向到另一个页面并将该行的选定 ID 的值作为参数传递。用户每次只能选择一行。我为此花了几个小时,但是发生了一些奇怪的事情。

我有一个方法

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
string selectedID;

if (e.Row.RowType == DataControlRowType.DataRow)
{
GridViewRow gvr = e.Row;
selectedID = (GridView1.DataKeys[e.Row.RowIndex].Value.ToString());
gvr.Attributes.Add("OnClick","javascript:location.href='Views/EditMenus/EditCompany.aspx?id=" + selectedID + "'");

gvr.Attributes.Add("onmouseover", "this.style.backgroundColor='#FFE6E6'");
gvr.Attributes.Add("onmouseout", "this.style.backgroundColor=''");
gvr.Attributes.Add("style", "cursor:pointer;");

Session["IDs"] = selectedID;
} }

在我的重定向页面中,我在页面加载方法中有以下代码:

 protected void Page_Load(object sender, EventArgs e)
{
if (Session["IDs"] != null)
{
Label2.Text = "Selected ID is: "+ Session["IDs"].ToString();
}
}

现在,当我选择一行时,到另一个页面的重定向工作正常并且浏览器 url 具有根据上面的 javascript 代码选择的 ID 的正确值,但是 Label2.Text 打印错误的 ID。它打印每页最后一行的值 ID,而不是所选 ID 的值。为什么会这样?

这对我来说有点奇怪,因为我对这两种情况都使用了相同的变量“selectedID”,正如您在上面看到的那样。

最佳答案

您需要在 GridViewSelectedIndexChanged 事件上的 Session 变量中获取您的 ID 的值

void CustomersGridView_SelectedIndexChanging(Object sender, GridViewSelectEventArgs e)
{

// Get the currently selected row.
//Because the SelectedIndexChanging event occurs before the select operation
//in the GridView control, the SelectedRow property cannot be used.
//Instead, use the Rows collection
//and the NewSelectedIndex property of the
//e argument passed to this event handler.

GridViewRow row = CustomersGridView.Rows[e.NewSelectedIndex];

//Cells[0] is for first column so assign according to your column for ID
Session["IDs"]=row.Cells[0].Text;


}

关于c# - 如何同时使用 session 将 GridView 的选定值传递到另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13304723/

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