在单击图像按钮时设置会话变量
本文关键字:设置 会话 变量 按钮 单击 图像 | 更新日期: 2023-09-27 18:18:43
页面上有两个图像按钮。当单击其中一个时,它需要在页面返回之前设置会话变量yesID和NoId。我试着把代码在每个按钮的点击事件,但页面再次加载之前,它运行在点击事件的代码。我如何设置2会话变量时,任何图像被点击?
<div id="MainPics">
<div id="RightPic">
<p>
<asp:Label ID="FirstPicMemberNameLabel" runat="server" Text="" Font-Bold="True" ForeColor="White"></asp:Label>
</p>
<asp:ImageButton ID="FirstPicLink" Width="90%" runat="server"
onclick="FirstPicLink_Click" />
</div>
<div id="LeftPic">
<p>
<asp:Label ID="SecondPicMemberNameLabel" runat="server" Text="" ForeColor="White" Font-Bold="True"></asp:Label>
</p>
<asp:ImageButton ID="SecondPicLink" Width="90%" runat="server"
onclick="SecondPicLink_Click" />
</div>
<div id="skip">
<asp:LinkButton ID="LBNoChoice" PostBackUrl="~/default.aspx" ForeColor="White" runat="server">Skip - I Can't Choose</asp:LinkButton>
</div>
</div>
代码隐藏页
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Session["yesID"] = 0;
Session["noId"] = 0;
}
else
{
//Send Session Variables to Database for Storage.
}
}
protected void FirstPicLink_Click(object sender, ImageClickEventArgs e)
{
Session["yesID"] = 1;
Session["noId"] = 2;
}
protected void SecondPicLink_Click(object sender, ImageClickEventArgs e)
{
Session["yesID"] =2;
Session["noId"] = 1;
}
这个逻辑有帮助吗?
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Session["yesID"] = 0;
Session["noId"] = 0;
}
//else
//{
//Send Session Variables to Database for Storage.
//}
}
protected void FirstPicLink_Click(object sender, ImageClickEventArgs e)
{
Session["yesID"] = 1;
Session["noId"] = 2;
SendSessionVariables(Session["yesID"], Session["noId"]);
}
private void SendSessionVariables(object p, object p_2)
{
// Your database code here
}
protected void SecondPicLink_Click(object sender, ImageClickEventArgs e)
{
Session["yesID"] = 2;
Session["noId"] = 1;
SendSessionVariables(Session["yesID"], Session["noId"]);
}
当你点击asp.net图像按钮时,它通常会触发click事件,并在autopostback未禁用的情况下调用该方法。如果您真的想要在autopostback被击中之前更改会话值,请在onclientclick事件上调用客户端javascript函数,并从该事件中对服务器页面进行ajax调用,在其中更新会话变量值。从ajax调用(成功事件)获得响应后,返回true,以便网页继续执行表单post back事件。