繁体   English   中英

将用户输入从一页发布到另一页

[英]Posting User Input from one page to another

我正在创建一个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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM