如何在C#中保存会话?

时间:2013-05-06 05:25:47

标签: c# asp.net session save

例如,我有

Session["PatientName"] = patientNameTextBox.Text;

textbox输入信息后,会点击一个按钮来保存会话,但我不太清楚如何做到这一点。

感谢任何帮助。谢谢:)。

3 个答案:

答案 0 :(得分:3)

如果您针对Button_Click事件放置代码,则上面的行Session["PatientName"] = patientNameTextBox.Text;会在会话中保存Text值。要将其恢复,您可以执行以下操作:

string patientName = Session["PatientName"] != null ? Session["PatientName"].ToString() 
                                                     : ""; //or null

请记住,不要在会话中存储太多信息,因为它们是在每个用户的服务器上维护的。

答案 1 :(得分:1)

您可以通过执行以下操作来检查值是否在会话中:

if (Session["PatientName"] != null) 
    ...

您可以通过执行以下操作来检索值:

// Remember to cast it to the correct type, because Session only returns objects.
string patientName = (string)Session["PatientName"];

如果你不确定里面是否有值,并且你想要一个默认值,试试这个:

// Once again you have to cast. Use operator ?? to optionally use the default value.
string patientName = (string)Session["PatientName"] ?? "MyDefaultPatientName";

将您的答案放回文本框或标签中:

patientLabel.Text = patientName; 

答案 2 :(得分:0)

点击按钮时可以保存会话

protected void buttonSaveSession_Click(object sender, EventArgs e)
{
    string patientName = textBoxPatientName.Text;
    Session["PatientName"] = patientName;
}

这是您可以查看或有人进行会话的方式:

protected void Page_Load(object sender, EventArgs e)
{
    if (Session["PatientName"] != null)
    {
        //Your Method()
    }
}