【问题标题】:Set sessions before datagrid's hyperlink OnClick在数据网格的超链接 OnClick 之前设置会话
【发布时间】:2012-06-23 17:04:03
【问题描述】:

我的网站上有一个数据网格,其中一列是超链接列。在单击超链接之前,我需要设置一些会话。但我无法在客户端设置会话。我该怎么做?

注意:我不能使用按钮栏,浏览器“在新窗口中打开”、“在新标签中打开”属性不起作用。

【问题讨论】:

  • 为什么不直接使用查询字符串?或发布一些代码,以便您获得帮助。
  • 我不想在地址栏中显示代码。

标签: asp.net session datagrid


【解决方案1】:

使用LinkButton。此控件生成一个回发到服务器作为任何按钮。在按钮处理程序上,设置您需要的会话变​​量,然后执行Response.Redirect()。

如果您需要在新窗口中打开链接。用这个代替Response.Redirect()

ASPX

 <asp:LinkButton ID="LinkButton1" runat="server"     
    OnClick="LinkButton1_Click">Open</asp:LinkButton>

CS

protected void LinkButton1_Click(object sender, EventArgs e)
{
    Session["MyVar1"] = "SomeValue";

    Page.ClientScript.RegisterClientScriptBlock(GetType(), "OPEN_NEW_WINDOW",  
      "window.open('page.aspx','_blank')", true);
}

【讨论】:

  • 我可以在 LinkBut​​ton 中使用“在新选项卡中打开”或“在新窗口中打开”属性吗?
  • @erdincozdemir: LinkBut​​ton 点击​​处理程序
【解决方案2】:

如果您确实需要从客户端设置会话变量,您仍然可以这样做,但您必须为此向服务器进行 AJAX 调用。

【讨论】:

  • 这是问题的答案吗??
  • 是的,我知道,但我不想在我的页面上使用 ajax。
  • @huMpty duMpty:是的。问题是“如何在点击之前设置会话变量”,这是可能的答案之一。
猜你喜欢
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-24
  • 2017-02-21
  • 1970-01-01
  • 2017-03-14
相关资源
最近更新 更多