0

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

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

4

2 回答 2

0

使用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);
}
于 2012-06-21T12:55:22.617 回答
-1

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

于 2012-06-21T13:14:16.880 回答