Witam.
Przerabiam sobie tutoriale z książki A. Troelsena i napotkałem na pewien problem podczas rozdziału z sesjami.
Autor każe utworzyć klasę
public class UserShoppingCart
{
public string desiredCarColor;
public string desiredCar;
public float downPayment;
public bool isLeasing;
public DateTime dateOfPickUp;
public override string ToString()
{
return string.Format("Marka: {0} <br/> Kolor: {1}<br/> Zaliczka: {3}$<br/> Leasing: {4}<br/> Data dostawy: {5}", desiredCar, desiredCarColor, downPayment, isLeasing, dateOfPickUp);
}
Następnie przy rozpoczęciu sesji utworzyć nowy obiekt tej klasy
void Session_Start(object sender, EventArgs e)
{
Session["UserShoppingCartInfo"] = new UserShoppingCart();
}
Na końcu po wcisnieciu buttona ma nastąpić przypisanie danych z kontrolek do zmiennych zawartych w tej klasie
protected void Button1_Click(object sender, EventArgs e)
{
UserShoppingCart cart = (UserShoppingCart)Session["UserShoppingCartInfo"];
cart.desiredCarColor = TextBox1.Text;
cart.desiredCar = TextBox2.Text;
cart.downPayment = float.Parse(TextBox3.Text);
cart.isLeasing = CheckBox1.Checked;
cart.dateOfPickUp = Calendar1.SelectedDate;
Session["UserShoppingCartInfo"] = cart;
}
Tu zaczynają powstawać błędy i wiążące się z nimi pytania.
- Czy deklaracja klasy UserShoppingCart ma znajdować się w pliku Default.aspx , Global.aspx czy w obu?
- Czy jest możliwe aby napisać deklarację w jednym z plików ale żeby były widoczne w obu?
- Czy do obsługi zdarzenia Session_Start mam użyć tej funkcji która znajduje się w Global.aspx czy napisać taką samą w Default.aspx?