使用会话状态将日期从一个asp表单转换为另一个asp表单

时间:2017-08-30 19:22:35

标签: javascript asp.net webforms session-state

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

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

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

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

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

2 个答案:

答案 0 :(得分:1)

您的条件块有一个缺陷,它表示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文本框中看到一些内容,并且如果用户在第一个表单中输入了一些内容,您将看到自己知道的内容。

答案 1 :(得分:0)

您可以修改条件块,如下所示

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