asp.net 4 iletişim formu (contact form)
ASP.NET 4 ile iletişim formu hazırlayacağımız bu yazımda benimde kendi sitemde kullandığım iletişim formu asp.net i kullananlar için gerekli bir form olduğunu düşünüyorum.
Kodlarımıza geçmeden önce uygulamanın çalışır halini görmek isterseniz tıklayınız...Projemizin adı contact olsun.uygulamada kullandığım dil ise C# dır.
projemize Home klasörüne Add/View diyoruz iletisim ve tamam adında iki View(sayfa) ekliyoruz.
iletisim sayfamızın kodları şöyle ;
<h1>Bize Ulaşın</h1>
<fieldset>
<% using(Html.BeginForm()) { %>
<%: Html.ValidationSummary() %>
<p>İsim: <%: Html.TextBoxFor(x => x.İsim) %></p>
<p>Email Adresi: <%: Html.TextBoxFor(x => x.Email) %></p>
<p>
Konu Nedir?
<%: Html.DropDownListFor(x => x.Konu, new[] {
new SelectListItem { Text = "Bilgi",
Value = bool.TrueString },
new SelectListItem { Text = "Sipariş",
Value = bool.FalseString }
}, "Lütfen Seçiniz...") %>
</p>
<p>Mesaj: <%: Html.TextAreaFor(x => x.Mesaj, 10, 25, null)%></p>
<input type="submit" value="Gönder" />
</fieldset>
<% } %>
bu kodları ekledikten sonra tamam adlı sayfamızın kodlarına geçelim ;
<h1>Teşekkürler, <%: Model.İsim %>!</h1>
<% if(Model.Konu == true) { %>
İletiniz Tarafımıza ulaştı...!
<% } else { %>
Özür Dileriz.Hata oluştu..
<% } %>
Controllers klasöründeki HomeController.cs e şu kodları ekliyoruz.
[HttpPost]
public ViewResult iletisim(kurallar kurallar)
{
if (ModelState.IsValid)
{
kurallar.Submit();
return View("tamam", kurallar);
}
else // Validation error, so redisplay data entry form
return View();
}
Son olarak da Models Klasörüne Add Class diyerek kurallar adında class ekliyoruz.Ve aşağıdaki kodları ekliyoruz.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Net.Mail;
using System.Text;
using System.Net;
namespace contact.Models
{
public class kurallar
{
[Required(ErrorMessage = "Lütfen İsminizi Yazınız")]
public string İsim { get; set; }
[Required(ErrorMessage = "Lütfen Email Adresinizi Yazınız")]
[RegularExpression(".+\\@.+\\..+", ErrorMessage = "Email Geçersiz...")]
public string Email { get; set; }
[Required(ErrorMessage = "Lütfen Birini Seçiniz")]
public bool? Konu { get; set; }
[Required(ErrorMessage = "Lütfen Mesajınızı Yazınız")]
public string Mesaj { get; set; }
private MailMessage BuildMailMessage()
{
var message = new StringBuilder();
message.AppendFormat("İsim: {0}\n", İsim);
message.AppendFormat("Email: {0}\n", Email);
message.AppendFormat("Mesaj: {0}\n", Mesaj);
message.AppendFormat("Konu: {0}\n", Konu.Value ? "Bilgi" : "Sipariş");
return new MailMessage(
"gönderen@emailadresi.com", // (Gönderen)
"alıcı@emailadresi.com", //(alıcı)
İsim + (Konu.Value ? " Bilgi" : " Sipariş"), // konu
message.ToString() // mesaj
);
}
public void Submit()
{
using (var smtpClient = new SmtpClient())
using (var mailMessage = BuildMailMessage())
{
smtpClient.Send(mailMessage);
}
}
}
}
uygulamamız bu kadar.
son hali ise şöyle
Uygulamamızın çalışır halini görmek için tıklayınız...
Yorumlar
Yorum Gönder