2016-02-25 3 views
0

Я использую этот код ниже, чтобы отправить электронное письмо по моему вопросу, используя раскрывающийся список даты, как я могу контролировать, как дата отображается в полученном письме? Сейчас его отображается уу/мм/дд Я пытаюсь установить его на дд/мм/гггг, управляющий форматом даты в отправленном письме с C#

protected void Send_Button_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     MailMessage msg = new MailMessage(); 
     msg.From = new MailAddress(""); 
     msg.To.Add(""); 
     msg.Subject = "Email"; 
     msg.Body = string.Format("First Name: <b>{0}</b><br/>Last Name: <b>{1}</b><br/>Email: <b>{2}</b><br/>Certificate number: <b>{3}</b><br/>Preferred itinerary: <b>{4}</b><br/>Preferred departure date: <b>{5}</b><br/>Number of travelers: <b>{6}</b><br/>Number of cabins: <b>{7}</b><br/>Cabin type: <b>{8}</b>", this.FirstName_TextBox.Text, this.LastName_TextBox.Text, this.Email_TextBox.Text, this.CertificateNumber_TextBox.Text, this.PreferredItinerary_DropDownList.Text, this.PreferredDepartureDate_TextBox.Text, this.NumberOfTravelers_TextBox.Text, this.NumberOfCabins_TextBox.Text, this.CabinType_DropDownList.Text); 
     msg.IsBodyHtml = true; 
     msg.BodyEncoding = Encoding.UTF8; 
     SmtpClient smt = new SmtpClient("smtpout.secureserver.net", 80); 
     smt.EnableSsl = false; 
     smt.Credentials = new System.Net.NetworkCredential("", ""); 
     smt.Send(msg); 
     this.Response.Redirect("ThankYou.aspx"); 
    } 
    catch (Exception ex) 
    { 
     this.ResultLabel.Text = ex.Message; 
    } 
} 

ответ

1

Сначала поверните значение в реальной DateTime. Что-то же просто, это возможно:

DateTime departureDate; 
if (!DateTime.TryParse(this.PreferredDepartureDate_TextBox.Text, out departureDate)) 
    // couldn't parse the date, show an error 

(Вы, возможно, потребуется использовать custom format provider в зависимости от формата инициирующей и текущей культуры.)

После того, как у вас есть действующий DateTime объект, вы можете represent it as a string так, как вам нравится , Например:

departureDate.ToString(@"MM\/dd\/yyyy") 
+1

Так быстро! :) Просто предложение, зная, что дата начала в формате yy/mm/dd, вы можете использовать TryParseExact – Pikoh