将用户输入从一页张贴到另一页

本文关键字:一页 张贴 用户 输入 | 更新日期: 2023-09-27 17:51:04

我正在创建一个ASP。. NET网页,允许将人事信息输入到文本框(firstName, lastName, payRate, startDate, endDate)。一旦输入并点击"提交"按钮,将检查几个验证规则,如果所有字段都被正确验证,则信息将传递到第二页显示(同样在多行文本框中)。

现在我遇到的问题是,当提交按钮被按下时,第二页的文本框没有显示输入的信息;相反,它显示以下内容:

" System.Web.UI.WebControls。TextBox" <——显示五次(每个文本字段一次)

下面是第一个页面的提交按钮事件处理程序和验证信息页面的页面加载处理程序的豁免。

protected void btnSubmit_Click(object sender, EventArgs e)
{
    string Msg = "";
    Boolean validatedState = true;
    //validating first name text box
    if (Request["txtFirstName"].ToString().Trim() == "")
    {
        txtFirstName.BackColor = System.Drawing.Color.Yellow;
        Msg = "Please enter first name";
        lblError.Text += Msg;
        validatedState = false;
    }
    else
    {
        txtFirstName.BackColor = System.Drawing.Color.White;
        Msg = "";
        lblError.Text = "";
        validatedState = true;
    }

这些if语句在所有五个字段中重复,然后信息存储在会话状态中并传输到下一页,如下所示:

if (validatedState)
    {
        Session.Add("txtFirstName", txtFirstName);
        Session.Add("txtLastName", txtLastName);
        Session.Add("txtPayRate", txtPayRate);
        Session.Add("txtStartDate", txtStartDate);
        Session.Add("txtEndDate", txtEndDate);
        Server.Transfer("frmPersonnelVerified.aspx");
    }

下面是经过验证的信息页面的页面加载处理程序,用于检索和显示会话对象中的信息。

protected void Page_Load(object sender, EventArgs e)
{
    //requesting information from personnel form; displaying in multi-line textbox called txtVerifiedInfo
    txtVerifiedInfo.Text = Session["txtFirstName"].ToString() +
                           Session["txtLastName"].ToString() +
                           Session["txtPayRate"].ToString() +
                           Session["txtStartDate"].ToString() +
                           Session["txtEndDate"];
}

将用户输入从一页张贴到另一页

正如可汗所说:

    Session.Add("txtFirstName", txtFirstName);

应为

    Session.Add("txtFirstName", txtFirstName.Text);