根据Checkboxlist的会话,定义Response.Redirect应该去哪里

时间:2015-09-09 12:05:05

标签: c# asp.net webforms

在我的asp.net webfrom过程中,我有一个5步骤的过程,其中在Step02上我有一个checkboxlist。当用户点击此页面上的“下一步”按钮时,无论他们选择了哪种服务,如果用户只选择了“网站内容上传”或“网站内容&布局检查'然后从我的Step03'下一步'按钮点击它们应该被定向到我的'确认'页面,否则他们应该被引导到'Step04'但我无法弄明白。

下面的代码是针对Step02的“提交”按钮点击

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

以下代码用于我的会话存储已选中的Step02复选框

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 for Step02

的HTML
<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>

1 个答案:

答案 0 :(得分:1)

在你的step03下一个活动中,你只需要阅读你的会话,看看他们是否选择了这两个复选框中的一个并相应地重定向。

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");
    }
  }
}