Asp.NET MVC JQuery DataTable Grid Kullanımı

Resim
Merhaba,
Bu videomuzda Asp.NET MVC projelerimizde verilerimizi hızlıca listeleyebileceğimiz, arama yapacağımız ve sıralayabileceğimiz basit ama hızlı bir çözüm olan JQuery Datatables kullanımını inceleyeceğiz. Öncelikle yeni bir Asp.NET MVC projesi açarak Northwind veritabanına bağlantı sağladık. Modelimizi oluşturduktan sonra veritabanımızdaki Satışlar tablomuzdaki verilerimizi HomeController içerisindeki Index action ile listeledik. sonrasında Nuget üzerinden JQuery Datatables projemize dahil ettik. Layout içerisine referanslarımızı ekleyerek index.cshtml dosamız içerisinde ilgili tablomuz için DataTabel fonksiyonumuzu tetikledik. Son olarak ise Datatable için Türkçe dil desteğini nasıl etkinleştireceğimizi inceleyerek videomuzu sonlandırdık.
İyi seyiler ve öğrenmeler dilerim.

#aspmvcnet #mvc #jquery #datatable #jquerydatatables


Asp.NET - C# HTML Şablonu Formatında Mail Gönderme



Merhaba,

Mail gönderme işlemi biliyorsunuz ki düz yazı biçiminde yapılabileceği gibi biraz daha özelleştirerek maile daha kurumsal bir yapı kazandırarak da gönderilebilir. Benim uğraştığım projede müşteriye gitmesi gereken mail servis detayının fatura görünümünde olmasıydı.

Hemen başlamak gerekirse ilk önce Mail.html adında bir düz html sayfa oluşturup gerekli tasarımı yaptım.







Burada göreceğiniz gibi üstte bir logo var. Bu logoyu hostinge yükledim ve oradan çekiyorum.
Kısım başlıkları ve alan başlıkları var. [title] [mail] gibi alanlarımız da mail gidecek müşterinin bilgilerini çekeceğimiz alanlarımız. Burada düz yazı olarak ekliyoruz. Html sayfamız bu kadar.

Sonrasında bir mail.aspx sayfası ekliyoruz.

Burada göreceğiniz üzere Mail.html sayfamızın aynı tasarımını buraya kopyaladık. ancak [title [mail] alanlarımızın yerini Toolbox tan eklediğimiz Label'larımız alıyor. Label'larımızın id bilgilerini lbltitle, lblmail olarak değiştiriyoruz.

Artık işimiz c3 tarafında mail gönderme işlemine geldi. Yukarıda mail gönder butonumuz ve hata oluştuğunda hata mesajını yazdıracağımız 2 ader label var. Butona çift tıklayıp click olayını oluşturuyoruz.

Öncelikle hangi müşteriye mail göndereceğimiz bilgisini seçtiğimiz sayfadan mail.aspx sayfasına geldiğimizde mail gönderilecek müşterinin bilgilerini çekmek için gerekli olan sorgulama işlemini yaptırıyoruz. Page Load olayına bu sorgumuzu yazıyoruz. Name space bilgilerine System.Net ve System.Net.Mail ve diğer namespace bilgilerini eklemeyi unutmayalım.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.Net.Mail;
using System.Collections.Specialized;
using System.IO;
public partial class Servisler_mail : System.Web.UI.Page
{
    serviceappdbEntities db = new serviceappdbEntities();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if (Request.QueryString["ID"]!=null && Request.QueryString["ID"]!="")
            {
                int id =Convert.ToInt32(Request.QueryString["ID"].ToString());
                var sorgu = (from s in db.Services
                             join c in db.Customers on
                             s.CustomerID equals c.CustomerID
                             join st in db.ServiceTypes on
                             s.TypeID equals st.TypeID
                             where c.CustomerID == s.CustomerID
                             join p in db.Products on
                             s.ProductID equals p.ProductID
                             join ss in db.ServiceStatus on
                             s.StatusID equals ss.StatusID
                             where s.ID==id
                             select new
                             {
                                 s.ID,
                                 s.CustomerID,
                                 s.ProductID,
                                 s.Date,
                                 s.Definition,
                                 s.BegTime,
                                 s.EndTime,
                                 s.Net,
                                 st.Name,
                                 c.Code,
                                 c.Email,
                                 c.Phone,
                                 c.Title,
                                 pName=p.Name,
                                 p.Info,
                                 servisdurum=ss.Name
                             }).ToList(); // sorgumuzu oluşturduk gerekli bilgileri aldık ve foreach ile labellarımıza atadık.
                foreach (var item in sorgu)
                {
                    lbltitle.Text = item.Title;
                    lblmail.Text = item.Email;
                    lblphone.Text = item.Phone;
                    lbldate.Text = item.Date.ToString();
                    lblbegtime.Text = item.BegTime.ToString();
                    lblendtime.Text = item.EndTime.ToString();
                    lblnet.Text = item.Net;
                    lblname.Text = item.Name;
                    lblinfo.Text = item.Info;
                    lbldefinition.Text = item.Definition;
                    lblservisdurum.Text = item.servisdurum;
                }
            }
        }
    }


Şimdi ise asıl görevi yapacak olan mail gönder butonumuzun kodlarını ekleyelim.

protected void btnMailGonder_Click1(object sender, EventArgs e)
        MailMessage Msg = new MailMessage();
        Msg.From = new MailAddress("mailiniz@domain.com");
        Msg.To.Add(lblmail.Text);//Mesajın gideceği müşterinin mail adresi Sayfa yüklenirken lblmail a atmıştık oradan çekiyoruz.
        StreamReader reader = new StreamReader(Server.MapPath("~/Servisler/Mail.html")); // Oluşturmuş olduğumuz Mail.html dosyanın yolu
        string readFile = reader.ReadToEnd();
        string StrContent = "";
        StrContent = readFile;
        //Burada html sayfada oluşturmuş olduğumuz [title],[mail] gibi alanları mail.aspx tarafında oluşturduğumuz lbltitle ve lblmail alanları ile eşleştirip değiştirmesini söylüyoruz.
        StrContent = StrContent.Replace("[title]", lbltitle.Text);
        StrContent = StrContent.Replace("[mail]", lblmail.Text);
        StrContent = StrContent.Replace("[phone]", lblphone.Text);
        StrContent = StrContent.Replace("[date]", lbldate.Text);
        StrContent = StrContent.Replace("[name]", lblname.Text);
        StrContent = StrContent.Replace("[info]", lblinfo.Text);
        StrContent = StrContent.Replace("[begtime]", lblbegtime.Text);
        StrContent = StrContent.Replace("[endtime]", lblendtime.Text);
        StrContent = StrContent.Replace("[net]", lblnet.Text);
        StrContent = StrContent.Replace("[definition]", lbldefinition.Text);
        StrContent = StrContent.Replace("[servisdurum]", lblservisdurum.Text);
        Msg.Subject = lblbegtime.Text + " - " + lblendtime.Text + " Tarihli Hizmet Detay - Fatura";//mesaj konumuz yine labellardan çektiriyoruz.
        Msg.Body = StrContent.ToString();
        Msg.IsBodyHtml = true;//mail gövdesinde html e izin veriyoruz.
        SmtpClient smtp = new SmtpClient();
        smtp.Host = "smtp.domain.com";
        System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
        NetworkCred.UserName = "mailiniz@domain.com";
        NetworkCred.Password = "MailŞifre";
        smtp.UseDefaultCredentials = true;
        smtp.Credentials = NetworkCred;
        smtp.Port = 587; //Port
        smtp.EnableSsl = false;
        try
        {
            smtp.Send(Msg); //Mail gönder
            lblGonderildi.Text = "Mail Başarı ile Gönderildi.";//Başarılı ise yaz
        }
        catch (Exception ex)
        {
            lblHata.Text = "Mail Gönderilirken Hata Oluştu! Tekrar Deneyin <br/> Hata Ayrıntıları :" + ex;// Hata var ise hata mesajı ve ayrıntıları.
        }
    }




Bu blogdaki popüler yayınlar

Asp.NET MVC Eğitimi (Örnek Proje )

Asp.NET MVC Makale Ekleme Resim Yükleme Boyutlandırma İşlemleri

Asp.NET MVC Şifremi Unuttum ile Şifre Resetleme İşlemleri