gpt4 book ai didi

c# - session 未在页面之间传递c#

转载 作者:行者123 更新时间:2023-11-30 00:05:39 25 4
gpt4 key购买 nike

我正在使用 VS 2013 和 Mysql,在我的一个页面中,我将选择查询放入此 View 中的 gridview 中,并且每行都有一个按钮,这样如果我按行按钮,我就会打开一个新窗口具有来自 gridview 的列 Id (这是第一列)。

GridView 按钮代码:

                     <Columns>

<asp:TemplateField ><ItemTemplate><asp:Button ID="gridbutton" runat="server" Text="Plus de détails" OnClientClick="basicPopup();return false;" RowIndex='<%# Container.DisplayIndex %>' OnClick="button_click" /></ItemTemplate></asp:TemplateField>

</Columns>

button_click方法的代码:

 protected void button_click(object sender, EventArgs e)
{
Button gridbutton = sender as Button;
int rowIndex = Convert.ToInt32(gridbutton.Attributes["RowIndex"]);
string n = "l'index" + rowIndex + "";
Session["idProjet"] = GridView1.Rows[rowIndex].Cells[2].Text;
//string idProjet = Convert.ToString(Session["idProjet"]);
// Alert.Show(idProjet);

}

我只是使用最后两行来确保我获得了值,并且我获得了正确的值。这是第二页中的代码,我想在其中获取 session 值:

   protected void Page_Load(object sender, EventArgs e)
{

string idProjet = Convert.ToString(Session["idProjet"]);
Alert.Show(idProjet);

}

但我得到的只是一个空结果。

最佳答案

在按钮代码中,您有 onclientclick 和 click 事件。

在您的 clickclick 事件中,我猜您正在打开不同的页面。请注意,客户端单击首先执行。所以新页面已经打开。您的服务器端事件稍后执行。这就是 session 在新形式中不可用的原因。

<asp:Button ID="gridbutton" runat="server" Text="Plus de détails" OnClientClick="basicPopup();return false;" RowIndex='<%# Container.DisplayIndex %>' OnClick="button_click" />

在这种情况下,您必须将 idProject 作为查询字符串传递到新页面。

关于c# - session 未在页面之间传递c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24579570/

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