我的网站上有一个数据网格,其中一列是超链接列。我需要在点击超链接之前设置一些会话。但我无法在客户端设置会话。我该怎么办?
注意:我无法使用按钮列,浏览器“在新窗口中打开”,“在新选项卡中打开”属性不起作用。
答案 0 :(得分: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);
}
答案 1 :(得分:-1)
如果你真的需要从客户端设置会话变量,你仍然可以这样做,但你必须为服务器进行AJAX调用。