using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace XEx08Reservation
{
public partial class Request : System.Web.UI.Page
{
private string currentDate = DateTime.Today.ToShortDateString();
private string currentYear = DateTime.Today.Year.ToString();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// set copyright year no matter what
lblYear.Text = currentYear;
// display saved reservation data if there is any
if (Session["Reservation"] != null)
{
DisplayReservation();
}
else {
// otherwise, set default values
txtArrivalDate.Text = currentDate;
rdoKing.Checked = true;
}
}
}
private void DisplayReservation()
{
Reservation reservation = (Reservation)Session["Reservation"];
txtArrivalDate.Text = reservation.ArrivalDate.ToShortDateString();
txtDepartureDate.Text = reservation.DepartureDate.ToShortDateString();
ddlNoOfPeople.SelectedValue = reservation.NoOfPeople.ToString();
if (reservation.BedType == "King")
rdoKing.Checked = true;
else if (reservation.BedType == "Two Queens")
rdoDouble.Checked = true;
else
rdoSingle.Checked = true;
txtSpecialRequests.Text = reservation.SpecialRequests;
txtFirstName.Text = reservation.FirstName;
txtLastName.Text = reservation.LastName;
txtEmail.Text = reservation.Email;
txtPhone.Text = reservation.Phone;
ddlPreferredMethod.SelectedValue = reservation.PreferredMethod;
}
protected void btnClear_Click(object sender, EventArgs e)
{
txtArrivalDate.Text = currentDate;
txtDepartureDate.Text = "";
ddlNoOfPeople.SelectedIndex = -1;
rdoKing.Checked = true;
rdoDouble.Checked = false;
rdoSingle.Checked = false;
txtSpecialRequests.Text = "";
txtFirstName.Text = "";
txtLastName.Text = "";
txtEmail.Text = "";
txtPhone.Text = "";
ddlPreferredMethod.SelectedIndex = 0;
lblMessage.Text = "";
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
Reservation reservation = new Reservation();
reservation.ArrivalDate = Convert.ToDateTime(txtArrivalDate.Text);
reservation.DepartureDate = Convert.ToDateTime(txtDepartureDate.Text);
TimeSpan tsDuration = reservation.DepartureDate - reservation.ArrivalDate;
reservation.NoOfDays = Convert.ToInt32(tsDuration);
tsDuration.Days.ToString();
reservation.NoOfPeople = Convert.ToInt32(ddlNoOfPeople.SelectedValue);
reservation.PreferredMethod = Convert.ToString(ddlPreferredMethod.SelectedValue);
if (rdoKing.Checked) reservation.BedType = "King";
else reservation.BedType = "Double Double";
reservation.SpecialRequests = txtSpecialRequests.Text;
reservation.FirstName = txtFirstName.Text;
reservation.LastName = txtLastName.Text;
reservation.Email = txtEmail.Text;
reservation.Phone = txtPhone.Text;
Session["Reservation"] = reservation;
Response.Redirect("Confirm.aspx");
}
}
}
Bonjour à tous,Comment puis-je calculer correctement l'étiquette NoOfDays qui s'affichera sur la page Confirmer aspx?
J'ai application web dans laquelle je suis un nouvel objet Initialisation de réservation et puis définir les propriétés en fonction des valeurs saisies par l'utilisateur sur le formulaire; cependant, j'ai du mal à calculer correctement le nombre total de jours entre le ArrivalDate
et le DepartureDate
qui sera éventuellement affiché dans une étiquette sur la page Confirm.aspx
. Est-ce que quelqu'un peut m'aider?
S'il vous plaît lire ce guide pour savoir comment pour créer un [exemple minimal, complet et vérifiable] (https://stackoverflow.com/help/mcve), puis modifiez la question comme décrit dans le guide. Cela peut prendre un certain temps pour lire le guide et apporter les modifications, mais cela vous aidera à obtenir de meilleures réponses et vous pourrez découvrir la réponse tout en révisant la question. A titre d'exemple d'une modification qui aiderait, si votre question concerne 'days (DepartureDate - ArrivalDate)', il est très peu probable que l'exemple minimal contienne 'King',' Two Queens' ou 'reservation.Phone'. –