Kategori arşivi: asp.net

TC kimlik no doğruluk kontrolü

TcKimlikNo web servisi kapanıp ücretli bir hale geldikten sonraKimlik Numarası tesbiti yapmamız gereken durumlarda sıkıntıya düşüyoruz.

Fakat TC kimlik numaraları bir algoritmaya göre verildiği için basit formlarda kullanıcı’nın doğru kimlik numarası girip girmediğini tesbit etmek için şu metodu kullanabiliriz:


public bool TCKimlik(string no)
{
   if (no.Length != 11) { return false; }
   int sayi = 0;
   for (int i = 0; i < 10; i++) sayi += int.Parse(no.Substring(i, 1));
   return sayi.ToString().Substring(sayi.ToString().Length - 1, 1) == no.Substring(10, 1) ? true : false;
}

Algoritmanın temeli; ilk 10 rakamın toplamının onlar basamağı, 11. rakama eşit çıkmak zorunda,
Burada kullanıcı deneme yanılma yaparak doğru gösterebilir tabi, ama hiç yoktan iyidir…

Web.Config’de değer tutmak

Web uygulamalarımızda çoğu zaman değerini dışarıdan almaya ihtiyaç duyduğumuz değişkenler olur bunları tutmak için en iyi yöntem Web.Config içindeki appSettings bölümüdür.

<appSettings>
<add key=”HostName” value=”127.0.0.1″ />
</appSettings>

Eklediğimiz bu parametrenin değerine şu şekilde ulaşabiliriz:
VB.NET

AppSettings.Item(“HostName“)

C#.net

ConfigurationSettings.AppSettings[“HostName“].ToString();

Fakat bu sınıfı kullanabilmek için code sayfamızın başına System.Configuration.ConfigurationSettings namespace’ini eklememiz gerekiyor.
VB.NET

Imports System.Configuration.ConfigurationSettings

veya
C#.net

using System.Configuration.ConfigurationSettings;

ASP.net ile bir sitenin içeriğini almak

Bazen Döviz Bilgileri, Maçsonuçları gibi başka bir sitenin içeriğini almanız gerekebilir. Bunun için C# da aşağıdaki meddu kullanabilirsiniz:


public static string icerikAl(string url)

{

    WebRequest wReq = WebRequest.Create(url);

    wReq.Timeout = 10000; // zaman aşımı süresi

    WebResponse wRes = wReq.GetResponse();

    Encoding enc = Encoding.GetEncoding("iso-8859-9");

    StreamReader sRed = new StreamReader(wRes.GetResponseStream(), enc);

    return sRed.ReadToEnd();

}


lt01.text = icerikAl("http://www.goals365.com/feed/ soccer/index.php");

asp.net sayfalama

Asp.net ‘de datagridview kullandığımız zaman sayfalamayı .NET kendisi yapıyor ama listenizi kendiniz oluşturuyorsanız o zaman problemler çıkabiliyor.

Aşağıdaki metoda toplam sayfa sayısını,ekrandaki sayfayı ve gideceğimiz linkin ön ekini göndererek şu şekilde sayfalama oluşturabiliriz.sayfalama.gif

private static string sayfalamaYap(int ts, int es, string yol)

{//ts=toplam sayfa, es=ekrandaki sayfa, yol = link

    int eis = 0;

    int ess = 0;

    bool i2demi = (es – 6 < 1) ? true : false//ilk 2 sayfadan birindeysek true–not:-2 idi

    bool s2demi = (ts – 6 < es) ? true : false; //son 2 sayfadan birindeysek true

    bool imi = (es == 1) ? true : false;        //ilk sayfa isek true

    bool smu = (es == ts) ? true : false;      //son sayfa isek true

    string text = "<div id=\"paging\">";

    string buton = "<a href=\"/" + yol + "{0}\" class=\"{2}\">{1}</a>";

    if (i2demi & s2demi) { eis = 1; ess = ts; }

    else if (!i2demi & s2demi) { eis = ts – 8; ess = ts; }

    else if (i2demi & !s2demi) { eis = 1; ess = 8; }

    else { eis = es – 4; ess = es + 4; }

    if (!imi) { text += string.Format(buton, (es – 1).ToString(), "< previus", "nav"); }

    if (!i2demi) { text += string.Format(buton, "1", "1", "nav") + string.Format(buton, "2", "2", "nav") + " … "; }

    for (int i = eis; i <= ess; i++)

    {

        if (i == es) { text += "<span href=\"\" class=\"navnone\">" + i.ToString() + "</span>"; }

        else { text += string.Format(buton, i.ToString(), i.ToString(), "nav"); }

    }

    if (!s2demi) { text += " … " + string.Format(buton, (ts – 1).ToString(), (ts – 1).ToString(), "nav") + string.Format(buton, ts.ToString(), ts.ToString(), "nav"); }

    if (!smu) { text += string.Format(buton, (es + 1).ToString(), "next >", "nav"); }

    return text + "</div>";

}

Microsoft’dan yeni bir ürün Expression

ASP.Net ile uğraşan herkesin çok iyi bildiği bir gerçek vardır o da Visual Studio.NET ile HTML tasarımı yapmak gerçekten çok zordur. Bu yüzden genelde Dreamwaver gibi diğer programları kulanırız ve VS.Net ile bir tablo çizmek için saatlerce uğraşarak zaman harcamak zorunda kalmayız, Microsoft da bu eksiği görmüş olacak ki bizlere yeni ürün ailesini tanıttı: Microsoft Expression
Bu ürünlerden özellikle Microsoft Expression Web ürünü ilgimizi çekecektir, bu programı kullanarak diğer popüler tasarım programlarında yapabildğimiz her şeyi yapmamız mümkün. İyi hoş ama bu ürün Microsoft tarafından VS.Net in içinde bize sunulmuyor malesef bağımsız olarak satılıyor.
Programda en dikkat çekici özelliklerden biri de ASP.NET 2.0 Web kontrolleri ile entegre çalışıyor olmasıdır ki buda zaten bir çok HTML tasarım programında bulunmaktaydı. Ancak Expression Web olayı bir adım daha öteye götürerek ASP.NET kontrollerinin design-time’da render edilmesinide sağlıyor. Örneğin bir Calendar kontrolü koyduğunuzda Calendar kontrolünü tasarım aşamasında HTML hali ile görebiliyorsunuz. Sonuç olarak özetlemek gerekirse Expression ürün ailesi yeni bir teknoloji yada yaklaşım modeli sunmuyor bize. Microsoft’un daha önce yapamadığı dolayısıyla çözümü başka yerlerde aradığımız bir çok şeyi geçte olsa bize sunmuş oluyor.
Şu anda resmi bir bilgi yok ama tahmin ediyorum ki expression web ürünü ileride VS.NET’e entegre edilecek. Ama aynı zamanda ayrı bir ürün olarakda sunulması gündeme gelebilecektir. Nitekim Frontpage‘in yerini dolduran bir ürün olarak da anılmaktadır. Artık Frontpage’in yeni versiyonlarını görmeyeceğiz. Aşağıda meraknızı gidermek açısından Expression Web ürününe ait bir ekran görüntüsü koyuyorum.

expressionweb1.jpg

Expression ürün ailesi aşağıdaki ürünlerden oluşmaktadır.

Expression Blend :
Expression Design :
Expression Media :
Expression Studio :

“The project location is not fully trusted by the .NET runtime”


.NET projenizin bulunduğu konumla ilgili güvenlik sorunu olduğu zaman ekranınızda, “The project location is not fully trusted by the .NET runtime” uyarısı alırsınız çözümü;
Denetim masası > Yönetimsel Araçlar > .NET Configuration X.xx
(projenizin kullandığı framework versiyonuna göre) sonra

Runtime Security Policy > Machine > All Code > Add a Child Code Group a tıklayın.

Okumaya devam et