使用会话状态将日期从一个 asp 表单转移到另一个表单中

transfer date into input field from one asp form into another using session state

我需要根据一些检查将日期从一个 asp 表格转移到另一个表格。 在源页面中,我按如下方式进行检查和发送:

if (txtFinalized.Text == "" && rblPhysicalrecords.SelectedValue=="1" && ddlResponsibility.SelectedIndex == 5)
            {
                //String s = Request.QueryString["finlalisationDate"] = txtFinalized.Text;
                Session["finlalisationDate"] = txtFinalized.Text;
            }

然后我尝试读取目标表单中的值,但到目前为止我无法根据需要将结果插入输入字段。

 txtFinalised.Text = (string)(Session["finlalisationDate"]);

我是否需要在 javascript 中编写一个方法来获取结果并将其插入该字段,如果是,我该怎么做?

您可以像下面这样修改您的条件块

if (!String.IsNullOrEmpty(txtFinalized.Text) && rblPhysicalrecords.SelectedValue=="1" && ddlResponsibility.SelectedIndex == 5)
            {
                //String s = Request.QueryString["finlalisationDate"] = txtFinalized.Text;
                Session["finlalisationDate"] = txtFinalized.Text;
            }

你的条件块有一个缺陷,它说 txtFinalized 必须为空才能为你的会话变量设置一个值。

为了学习和理解会话,您可以像这样编写代码...

//remove txtFinalized from condition
if (rblPhysicalrecords.SelectedValue=="1" && ddlResponsibility.SelectedIndex == 5)
{
    //check if textFinalized NOT is null or empty
    if (!String.IsNullOrEmpty)
    {
        Session["finlalisationDate"] = txtFinalized.Text;
    }
    //if textFinalized is empty set session to a value just to see some text
    else
    {
        Session["finlalisationDate"] = "n/a";
    }
}

现在,当您加载第二个表单时,您将始终在 textFinalized 文本框中看到一些内容,并且根据您所看到的内容,您知道用户是否在第一个表单中进行了一些输入。