响应在asp.net中从一个页面重定向到另一个页面

时间:2014-09-09 06:58:17

标签: c# sql asp.net

我有2页,第一页用户必须选择radiobuttonlist,选择2日历日期并填写文本框。因此第二页必须显示所有内容,但是没有提取。当我运行程序时,没有错误。

这些是来自第一页的代码。

protected void lbnext_Click(object sender, EventArgs e)
{
    ValidateEmail();
    ValidateDate();

    if (lwarndate.Visible == false &&
        lwarnemail.Visible == false)
    {
        Response.Redirect("~/Staff/ApplyLeaveConfirm.aspx?qsLeaveCode=" + rblleavetype.SelectedValue.ToString() +
                          "&qsLeaveType=" + rblleavetype.SelectedItem.ToString() +
                          "&qsStartDate=" + lstartdate.Text +
                          "&qsEndDate=" + lenddate.Text +
                          "&qsReason=" + tbreason.Text +
                          "&qsValue=" + total.Text +
                          "&qsSV=" + tbsvemail.Text);

    }
}

这是第二页后面的代码。

    protected void Page_Load(object sender, EventArgs e)
{
    if (Session["ID"] == null)
    {
        Response.Redirect("~/Default.aspx");
    }
    if (Session["ID"] != null)
    {
        string id = Session["ID"].ToString();
        sqluser.SelectCommand =
            "SELECT id, name, email " +
            "FROM   profile " +
            "WHERE  id='" + id + "'";

        sqluser.DataBind();

        if (Request.QueryString["qsLeaveCode"] != null &&
            Request.QueryString["&qsLeaveType"] != null &&
            Request.QueryString["&qsStartDate"] != null &&
            Request.QueryString["&qsEndDate"] != null &&
            Request.QueryString["&qsReason"] != null &&
            Request.QueryString["&qsValue"] != null &&
            Request.QueryString["&qsSV"] != null
            )
        {
            lleavetypecode.Text = Request.QueryString["qsLeaveCode"].ToString();
            lleavetype.Text = Request.QueryString["&qsLeaveType"].ToString();
            lstartdate.Text = Request.QueryString["&qsStartDate"].ToString();
            lenddate.Text = Request.QueryString["&qsEndDate"].ToString();
            lleavetype1.Text = Request.QueryString["&qsLeaveType"].ToString();
            lreason.Text = Request.QueryString["&qsReason"].ToString();
            ltotalleavetype.Text = Request.QueryString["&qsValue"].ToString();
            lsvemail.Text = Request.QueryString["&qsSV"].ToString();
        }

        if (!Page.IsPostBack)
        {
            DataView dv = (DataView)sqluser.Select(DataSourceSelectArguments.Empty);

            foreach (DataRow dr in dv.Table.Rows)
            {
                lname.Text = dr["name"].ToString();
                lemail.Text = dr["email"].ToString();
            }
        }
    }
}

我是非常新的c#,如果我的解释不足,请原谅我。

1 个答案:

答案 0 :(得分:2)

你在if-check和alter中不需要"&"符号。查询字符串存储时没有"&"

   if (Request.QueryString["qsLeaveCode"] != null &&
        Request.QueryString["qsLeaveType"] != null &&
        Request.QueryString["qsStartDate"] != null &&
        Request.QueryString["qsEndDate"] != null &&
        Request.QueryString["qsReason"] != null &&
        Request.QueryString["qsValue"] != null &&
        Request.QueryString["qsSV"] != null
      ){
        lleavetypecode.Text = Request.QueryString["qsLeaveCode"].ToString();
        lleavetype.Text = Request.QueryString["qsLeaveType"].ToString();
        lstartdate.Text = Request.QueryString["qsStartDate"].ToString();
        lenddate.Text = Request.QueryString["qsEndDate"].ToString();
        lleavetype1.Text = Request.QueryString["qsLeaveType"].ToString();
        lreason.Text = Request.QueryString["qsReason"].ToString();
        ltotalleavetype.Text = Request.QueryString["qsValue"].ToString();
        lsvemail.Text = Request.QueryString["qsSV"].ToString();
       }