26 Mart 2016 Cumartesi

E bülten kayıt Form Json

    public class HomeController : Controller
    {
    public JsonResult EbultenKayit(string Eposta, string dil)
        {
            using (var db = new Models.DataBaseDB())
            {
                var sonuc = new EbultenSonucModel();
                if (!string.IsNullOrEmpty(Eposta))
                {

                    var epostaVarmi = db.EBultenler.Count(x => x.Eposta == Eposta) > 0;

                    if (epostaVarmi)
                    {
                        sonuc.Durum = false;

                        if (dil.ToLower() == "en")
                            sonuc.Mesaj = "E-mail address is already available.";
                        else
                            sonuc.Mesaj = "Bu eposta zaten mevcut";

                    }
                    else
                    {

                        if (IsValid(Eposta))
                        {
                            var M = new Models.EBulten();
                            M.Eposta = Eposta;
                            M.GelisTarih = DateTime.Now;
                            M.IpAdres = Request.UserHostAddress;

                            db.EBultenler.Add(M);
                            db.SaveChanges();
                            sonuc.Durum = true;
                            if (dil.ToLower() == "en")
                                sonuc.Mesaj = "Your operation has been successfully completed.";
                            else
                                sonuc.Mesaj = "İşlem başarılı";
                        }
                        else
                        {
                            sonuc.Durum = false;
                            if (dil.ToLower() == "en")
                                sonuc.Mesaj = "Invalid e-mail.";
                            else
                                sonuc.Mesaj = "Geçersiz Eposta." + dil;
                        }
                    }
                }
                else
                {
                    sonuc.Durum = false;
                    if (dil.ToLower() == "en")
                        sonuc.Mesaj = "It is required to fill in e-mail section";
                    else
                        sonuc.Mesaj = "Eposta boş geçilemez";
                }
                return Json(sonuc, JsonRequestBehavior.AllowGet);
            }
        }

        public class EbultenSonucModel
        {
            public string Mesaj { get; set; }
            public bool Durum { get; set; }
        }
        public bool IsValid(string emailaddress)
        {
            try
            {
                MailAddress m = new MailAddress(emailaddress);
                return true;
            }
            catch
            {
                return false;
            }
        }}

namespace ProjeAdi.Models
{

    [Table("EBultenler")]
    public class EBulten
    {
        [Key]
        public int EBultenId { get; set; }

        [Required(ErrorMessage = "Boş Geçilemez")]
        [EmailAddress(ErrorMessage = "Geçerli Bir Eposta Giriniz")]
        public string Eposta { get; set; }

        public DateTime GelisTarih { get; set; }
        public string IpAdres { get; set; }
    }
}

html -------------------------------------
        <form class="form-inline form-newsletter">
                    <div class="form-group">
                        <label for="signUp">E-bülten</label>
                        <input type="text" id="Eposta" class="input-email form-control" placeholder="E-posta adresinizi giriniz">
                        <button type="button" onclick="EbultenSave()" class="btn btn-submit btn-primary"><i class="fa fa-angle-right icon-submit"></i></button>
                        <div class="ebultenmesaj">
                            <div class="alert alert-danger alert-dismissible fade in" role="alert">
                                <button type="button" onclick="EbultenSave()" class="close" data-dismiss="alert" aria-label="Close">
                               
                                </button>
                                <p> </p>
                            </div>
                            <div class="alert alert-success alert-dismissible fade in" role="alert">
                                <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                               
                                </button>
                                <p></p>
                            </div>
                        </div>
                    </div><!-- /.form-group -->
                </form><!-- /.form-newsletter -->
html -------------------------------------!
script --------------------------
   <script type="text/javascript">
        $('.ebultenmesaj .alert-success').hide();
        $('.ebultenmesaj .alert-danger').hide();
        function EbultenSave() {
            var url = "/@dil/EbultenKayit";
            var eposta = $('#Eposta').val();
            $.getJSON(url, { Eposta: eposta }, function (data) {
                console.log(data)
                if (data.Durum) {
                    $('.ebultenmesaj .alert-danger').hide();
                    $('.ebultenmesaj .alert-success').show().find('p').html(data.Mesaj);
                    $('#Eposta').val('');
                }
                else {
                    $('.ebultenmesaj .alert-success').hide();
                    $('.ebultenmesaj .alert-danger').show().find('p').html(data.Mesaj);
                }

            });
        }
    </script>






23 Mart 2016 Çarşamba

Mvc Controller tarafında mobile yönlendirmek için kullanılır

     
Mvc Controller tarafında mobile yönlendirmek için kullanılır
if (Request.Browser.IsMobileDevice && !Request.UserAgent.ToLower().Contains("ipad"))
            {
                Response.Redirect("/Mobile");
            }

18 Mart 2016 Cuma

Responsive Recaptcha

iletisimformu.cshtml 
var recaptchaUrl=string.Format("https://www.gstatic.com/recaptcha/api2/r20150714174420/recaptcha__{0}.js", lng);
    <div class="form-group ">
          <div class="captcha">
                   @using Recaptcha;
                   @Html.Raw(Html.GenerateCaptcha(string.Empty, "clean", "tr", null))
                             
        </div>
</div>

recaptcha.css 
@media(max-width:991px) {
    #recaptcha_challenge_image {
        margin: 0 !important;
        width: 285px !important;
    }

    #recaptcha_response_field {
        height: 40px;
        padding: 10px;
        width: 285px !important;
    }

    .recaptchatable #recaptcha_image {
        width: 100px !important;
    }

    .recaptchatable .recaptcha_r1_c1,
    .recaptchatable .recaptcha_r3_c1,
    .recaptchatable .recaptcha_r3_c2,
    .recaptchatable .recaptcha_r7_c1,
    .recaptchatable .recaptcha_r8_c1,
    .recaptchatable .recaptcha_r3_c3,
    .recaptchatable .recaptcha_r2_c1,
    .recaptchatable .recaptcha_r4_c1,
    .recaptchatable .recaptcha_r4_c2,
    .recaptchatable .recaptcha_r4_c4,
    .recaptchatable .recaptcha_image_cell {
        background: none !important;
        width: 150px !important;
    }
}

@media(max-width:767px) {
    #recaptcha_challenge_image {
        margin: 0 !important;
        width: 125px !important;
    }

    #recaptcha_response_field {
        height: 40px;
        padding: 10px;
        width: 125px !important;
    }

    .recaptchatable #recaptcha_image {
        width: 100px !important;
    }

    .recaptchatable .recaptcha_r1_c1,
    .recaptchatable .recaptcha_r3_c1,
    .recaptchatable .recaptcha_r3_c2,
    .recaptchatable .recaptcha_r7_c1,
    .recaptchatable .recaptcha_r8_c1,
    .recaptchatable .recaptcha_r3_c3,
    .recaptchatable .recaptcha_r2_c1,
    .recaptchatable .recaptcha_r4_c1,
    .recaptchatable .recaptcha_r4_c2,
    .recaptchatable .recaptcha_r4_c4,
    .recaptchatable .recaptcha_image_cell {
        background: none !important;
        width: 150px !important;
    }
}


#recaptcha_challenge_image {
    margin: 0 !important;
    width: auto;
}

#recaptcha_response_field {
    height: 40px;
    padding: 10px;
}

.recaptchatable #recaptcha_image {
    width: auto !important;
}

.recaptchatable .recaptcha_r1_c1,
.recaptchatable .recaptcha_r3_c1,
.recaptchatable .recaptcha_r3_c2,
.recaptchatable .recaptcha_r7_c1,
.recaptchatable .recaptcha_r8_c1,
.recaptchatable .recaptcha_r3_c3,
.recaptchatable .recaptcha_r2_c1,
.recaptchatable .recaptcha_r4_c1,
.recaptchatable .recaptcha_r4_c2,
.recaptchatable .recaptcha_r4_c4,
.recaptchatable .recaptcha_image_cell {
    background: none !important;
    width: 50px !important;
}

16 Mart 2016 Çarşamba



  string TopluYuklemeKlasor="/dosyalar/resimler/";

List<string> resimler = GetImageFolder(TopluYuklemeKlasor);
//liste tipinde resim yolları döndürür

 public static List<string> GetImageFolder(string FolderPath)
        {
            List<string> imagesList = new List<string>();
            try
            {
                var files = Directory.GetFiles(HttpContext.Current.Server.MapPath(FolderPath));
                for (int i = 0; i < files.Length; i++)
                {
                    try
                    {
                        var img = new WebImage(files[i]);
                        imagesList.Add(FolderPath + img.FileName.Split('\\').LastOrDefault());
                    }
                    catch { }
                }
            }
            catch { }

            return imagesList.OrderBy(x => x).ToList();

        }

1 Mart 2016 Salı

MVC içeriklerden gelen Türkçe Karakter Sorununun çözüm çeşitleri

Varsayılan olarak herkesin bildiği üzere aşağıdaki  Web Config üzerindentagları ile bu sorunun çözülmemesiyle başlamıştı...

Sayfanızın head kısmına aşağıdaki meta tagları eklenerek çözüm sağlanabilir...

    <meta http-equiv=Content-type content=text/html; charset=UTF-8 />
    <meta http-equiv=Content-type content=text/html; charset=windows-1254 />
    <meta http-equiv=Content-type content=text/html; charset=iso-8859-9 />


Veya bu şekilde Html.Raw() ile çözümlenebilir...
  • hatalı <title>sayfamın başlığı</title
  • Düzeltme <title>@Html.Raw(sayfa başlığı)</title>

Ancak bu sorun Html içerisinde veri tabanından gelen verilerin Türkçe karakter hatasına tutulmasıydı.

Diğer  Web Config üzerinden çözüm yollarına değinecek olursak;
<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="tr-TR" uiCulture="tr-TR" />

Hatanın çözümü normal şarlatandan meta tagları ile çözümlenirken bu hatayı web config üzerinden kökten çözüme gitmek için web.config'ime system.web 'in altına aşağıdaki kod parçacığını ekledim ve sorun düzeldi. 
<httpRuntime encoderType="System.Web.Security.AntiXss.AntiXssEncoder,
                             System.Web, Version=4.0.0.0, Culture=neutral,
                             PublicKeyToken=b03f5f7f11d50a3a"/> 


Çözümü şurada buldum;
http://stackoverflow.com/questions/14580876/disable-encoding-of-unicode-characters-in-asp-net-mvc3