我的网站上有一个数据网格,其中一列是超链接列。在单击超链接之前,我需要设置一些会话。但我无法在客户端设置会话。我该怎么做?
注意:我不能使用按钮栏,浏览器“在新窗口中打开”、“在新标签中打开”属性不起作用。
使用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);
}
如果您确实需要从客户端设置会话变量,您仍然可以这样做,但您必须为此对服务器进行 AJAX 调用。