将 Class 个对象存储到 Session 中并显示在另一个 asp.net Webform 上
Storing Class objects into Session and displaying on another asp.net Webform
使用 asp.net,我正在尝试检索文本框输入,将此数据封装在 C# class 中,将 class 对象存储在会话中并在另一个 Web 上显示此数据形式。我的想法是,我需要在 C# class Customer 中设置属性,然后将整个 class 对象存储到 Session 中,但也许我做错了。
这是我的 asp.net 代码的一部分,其中包含文本框:
<asp:Label ID="lblName" runat="server" Text="Name: "></asp:Label>
<br />
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<br /><br />
<asp:Label ID="lblAddress" runat="server" Text="Address: "></asp:Label>
<br />
<asp:TextBox ID="txtAddress" runat="server"></asp:TextBox>
<br /><br />
<asp:Label ID="lblPhoneNumber" runat="server" Text="Phone Number: "></asp:Label>
<br />
<asp:TextBox ID="txtPhoneNumber" runat="server"></asp:TextBox>
下面是我的代码:
protected void btnSubmitPersonalInfo_Click(object sender, EventArgs e)
{
Customer customer = new Customer();
customer.Name = txtName.Text;
customer.Address = txtAddress.Text;
customer.PhoneNumber = txtPhoneNumber.Text;
customer.City = txtCity.Text;
customer.State = txtState.Text;
customer.Zip = txtZip.Text;
Session["Customer"] = customer;
Response.Redirect("CreditCardInfo.aspx");
}
这是我的 C# class:
public class Customer
{
public string Name { get; set; }
public string Address { get; set; }
public string PhoneNumber { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
public string CardNumber { get; set; }
public string ExpirationDate { get; set; }
public string SecurityCode { get; set; }
public Customer() { }
}
这是我要显示数据的网络表单:
public partial class DisplayData : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
txtDisplayData.Text = Session["Customer"].ToString();
}
}
目前,txtDisplayData 正在显示命名空间,仅此而已。
有人能给我指出正确的方向吗,因为我觉得我想太多了。谢谢。
您可以在会话中存储任何内容。要取回它们的属性,请将会话转换为原始 class。它应该有效。
在你的例子中,你直接提供了你的会话,你需要将它转换回 Class 然后提供它:
Customer customer = new Customer();
// Assign object into session
Session["Customer"] = customer ;
您可以获得这样的详细信息:
// get session value into object
Customer customer = (Customer)Session["Customer"];
您可以将 Session["Customer"] 类型转换为 Customer 对象,例如
var obj=(客户)会话["Customer"];
txtDisplayData.Text = obj.Name;
使用 asp.net,我正在尝试检索文本框输入,将此数据封装在 C# class 中,将 class 对象存储在会话中并在另一个 Web 上显示此数据形式。我的想法是,我需要在 C# class Customer 中设置属性,然后将整个 class 对象存储到 Session 中,但也许我做错了。
这是我的 asp.net 代码的一部分,其中包含文本框:
<asp:Label ID="lblName" runat="server" Text="Name: "></asp:Label>
<br />
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<br /><br />
<asp:Label ID="lblAddress" runat="server" Text="Address: "></asp:Label>
<br />
<asp:TextBox ID="txtAddress" runat="server"></asp:TextBox>
<br /><br />
<asp:Label ID="lblPhoneNumber" runat="server" Text="Phone Number: "></asp:Label>
<br />
<asp:TextBox ID="txtPhoneNumber" runat="server"></asp:TextBox>
下面是我的代码:
protected void btnSubmitPersonalInfo_Click(object sender, EventArgs e)
{
Customer customer = new Customer();
customer.Name = txtName.Text;
customer.Address = txtAddress.Text;
customer.PhoneNumber = txtPhoneNumber.Text;
customer.City = txtCity.Text;
customer.State = txtState.Text;
customer.Zip = txtZip.Text;
Session["Customer"] = customer;
Response.Redirect("CreditCardInfo.aspx");
}
这是我的 C# class:
public class Customer
{
public string Name { get; set; }
public string Address { get; set; }
public string PhoneNumber { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
public string CardNumber { get; set; }
public string ExpirationDate { get; set; }
public string SecurityCode { get; set; }
public Customer() { }
}
这是我要显示数据的网络表单:
public partial class DisplayData : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
txtDisplayData.Text = Session["Customer"].ToString();
}
}
目前,txtDisplayData 正在显示命名空间,仅此而已。 有人能给我指出正确的方向吗,因为我觉得我想太多了。谢谢。
您可以在会话中存储任何内容。要取回它们的属性,请将会话转换为原始 class。它应该有效。
在你的例子中,你直接提供了你的会话,你需要将它转换回 Class 然后提供它:
Customer customer = new Customer();
// Assign object into session
Session["Customer"] = customer ;
您可以获得这样的详细信息:
// get session value into object
Customer customer = (Customer)Session["Customer"];
您可以将 Session["Customer"] 类型转换为 Customer 对象,例如
var obj=(客户)会话["Customer"];
txtDisplayData.Text = obj.Name;