定义Where响应.重定向应该去到一个复选框列表的会话

本文关键字:一个 复选框 列表 会话 重定向 响应 Where 定义 | 更新日期: 2023-09-27 18:11:48

在我的asp.net webfrom进程上,我有一个5步进程,在Step02上我有一个checkboxlist。当用户点击这个页面上的"下一步"按钮时,无论他们选择了什么服务,他们都会被带到步骤03,但如果用户只选择了"网站内容上传"或"网站内容& quot;布局检查',然后从我的步骤03 '下一步'按钮点击,他们应该被定向到我的'确认'页面,否则他们应该被定向到'步骤04',但我不能弄清楚。

下面的代码是我的"提交"按钮,点击步骤02

protected void Step02SubmitButton_Click(object sender, EventArgs e)
{
    SessionSaving();
    Response.Redirect("/Quotation/Step03.aspx");
}

下面的代码是我的会话存储的选中复选框的步骤02

private void SessionSaving()
{
    List<string> selections = new List<string>();
    foreach (ListItem listItem in Services.Items)
    {
        if (listItem.Selected)
        {
            selections.Add(listItem.Value);
        }
    }
    Session["Step02Services"] = selections;
}

下面的代码是我的checkboxlist的HTML为Step02

<asp:CheckBoxList runat="server" id="Services" CssClass="CheckboxList">
    <asp:ListItem Text="All services" Value="All services"></asp:ListItem>
    <asp:ListItem Text="Site content uploading only" Value="Site content uploading only"></asp:ListItem>
    <asp:ListItem Text="Site content &amp; layout checking" Value="Site content &amp; layout checking"></asp:ListItem>
    <asp:ListItem Text="Testing on various browsers" Value="Testing on various browsers"></asp:ListItem>
    <asp:ListItem Text="Testing all website functionality" Value="Testing all website functionality"></asp:ListItem>
    <asp:ListItem Text="Responsive design (Design/Implemtation only)" Value="Responsive design (Design/Implemtation only)"></asp:ListItem>
    <asp:ListItem Text="Responsive design (Testing only)" Value="Responsive design (Testing only)"></asp:ListItem>
</asp:CheckBoxList>

定义Where响应.重定向应该去到一个复选框列表的会话

在你的step03 Next事件中,你只需要从你的会话中读取,看看他们是否选中了这两个复选框中的一个,并相应地重定向。

protected void Step03SubmitButton_Click(object sender, EventArgs e)
{
  List<string> selections = Session["Step02Services"] as List<string>;
  if (selections != null) {
    if (selections.Contains("Site content uploading") || selections.Contains("Site content & layout checking")) {
      Response.Redirect("/YourConfirmationPage.aspx");
    } else {
      Response.Redirect("/Step04.aspx");
    }
  }
}