Asp.NET Soru..

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mamii
    mamii's avatar
    Kayıt Tarihi: 24/Haziran/2008
    Erkek
    Request.QueryString["ID"] yi kontrol ettiriyorum, fakat bu sadece numerik yani rakamlar olacak adam gelip ....aspx?ID=1234kd2  yazınca hata mesajı verdirtecem, bunu nasıl kontrol ederim, sayı mı harf mi girildiğini ?

    ÖSS maratonu başlıyor. Dershane de başladı. Bir süre TBT"de yokum. Seneye kaldığım yerden devam =)
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fikret
    Fikret's avatar
    Kayıt Tarihi: 01/Ekim/2007
    Erkek

    asp.net te hiç yapmadım ama aynı fonksiyon vardır muhtemelen.

    asp de IsNumeric() fonksiyonuyla kontrol ediyosun

    If IsNumeric(Veri)  = True Then  'eğer veri rakamsal ise

    gibi. 


    screw you guys! i"m goin" hoooome!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mamii
    mamii's avatar
    Kayıt Tarihi: 24/Haziran/2008
    Erkek
    sağ ol kardeş ama yok öyle bir şey :S

    ÖSS maratonu başlıyor. Dershane de başladı. Bir süre TBT"de yokum. Seneye kaldığım yerden devam =)
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    psYCho
    psYCho's avatar
    Kayıt Tarihi: 20/Ağustos/2005
    Erkek

    umarım kodlar düzgün görünür (:  bu fonksiyonla kontrol edebilirsin. bildiğim kadarıyla asp deki gibi sadece isnumeric(string) olayı yok .net de

    public bool IsNumeric(string s) 
            {
                char nns = System.Globalization.CultureInfo
                .CurrentCulture.NumberFormat.NegativeSign[0];
                char dcs = System.Globalization.CultureInfo
                .CurrentCulture.NumberFormat.NumberDecimalSeparator[0];
                int nnsi = s.IndexOf(nns);
                if (nnsi > 0)
                    return false;
                if (nnsi == 0)
                    s = s.Remove(nnsi, 1);
                char[] c = s.ToCharArray();
                if (c[0] == dcs || c[c.Length - 1] == dcs)
                    return false;

                int dcsc = 0;
                for (int i = 0; i < c.Length; i++)
                {
                    if (c[i] > 57 || c[i] < 48)
                    {
                        if (c[i] != dcs)
                            return false;
                        else
                            dcsc++;
                    }
                    if (dcsc > 1)
                        return false;
                }
                return true;
            }


    Old psYCho.. Now B-Rk..
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mamii
    mamii's avatar
    Kayıt Tarihi: 24/Haziran/2008
    Erkek

    Teşekkürler fakat çok uzun ve gereksiz. Şöyle bir yöntem kullandım. Ben ID tutuyorum ve bu ID numerik olduğu için,

    try

    {

     Response.Write(Convert.ToInt16(Request.QueryString["ID"]) *2);

    }catch

    {

     Response.Redirect("Default.aspx");

    }

     

    string bir şey gelirse string * int diye bir şey olamayacağı için hataya düşecektir.


    ÖSS maratonu başlıyor. Dershane de başladı. Bir süre TBT"de yokum. Seneye kaldığım yerden devam =)
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ThundeR
    ThundeR's avatar
    Kayıt Tarihi: 08/Mart/2007
    Erkek
    psycho nun fonksiyon gereksiz değil aslında..

    böyle kullanırsan, senin yöntemde hata vermiş olcak :)

     try
    {

    Console.WriteLine(Convert.ToInt16("123456") * 2);

    }
     catch
    {
    Console.WriteLine("Default.aspx");
    }

     

    girilen verinin uzunluğuna göre değişir,

    5 basamagı geçmicek bi id cekmede kullanıcaksan, senin yöntem idare ederde,

     formdan bi veri cekipde numeric mi die kontrol ettiriceksen tırtlar.. :)
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mamii
    mamii's avatar
    Kayıt Tarihi: 24/Haziran/2008
    Erkek

    yok sadece PM yollarken ID var,  birisi ID=12kdl diye bir şey yazarsa kontrol ettiriyorum..

    try

     {

    Response.Write((Convert.ToInt16(Request.QueryString["ID"]) * 2));

    }

    catch

    {

     Response.Redirect("Default.aspx");

    }

    bu çalışıyor...


    ÖSS maratonu başlıyor. Dershane de başladı. Bir süre TBT"de yokum. Seneye kaldığım yerden devam =)
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    voltigore
    voltigore's avatar
    Kayıt Tarihi: 01/Ağustos/2005
    Erkek
    Yazdığın try-catch li yöntem çalışır ama yaptığı iş salaş programcılığa örnektir. Mümkün olduğunca işlerini try-catch arasında kontrol ettirmeden yapmaya bak.

    Geyik Candır :]
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    voltigore bunu yazdı:
    -----------------------------
    Yazdığın try-catch li yöntem çalışır ama yaptığı iş salaş programcılığa örnektir. Mümkün olduğunca işlerini try-catch arasında kontrol ettirmeden yapmaya bak.
    -----------------------------

    koyu olan cümleyi bir yazılımcı yazmış olamaz :/


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Musket
    Musket's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 09/Haziran/2002
    Erkek

    SharpShooter,

    Adam gayet doğru söylüyor.

     

     

    Ayrıca, Mamii, bana sorarsan olayı ufak bir method kullan bu metodda, 

    TypeCasting ile rakam olmayan değelerlere bak.

    (www.asciitable.com)

     

     

    Ya da bu da olmaz dersen, textBox'unun keyPress event'ine bak.

    Ordan yap.

    Ben daha önce yapmıştım böyle bir fonksiyon.

     

    private void AdetinIntOldugunuKontrolEt(object sender, KeyPressEventArgs e)
      {
      if ((Char.IsDigit(e.KeyChar) == false) && (!e.KeyChar.Equals('\b')))
      e.Handled = true;
      }
     

    Böylece basılan 'karakter'leri yok etmiş oluyorsun. 

Toplam Hit: 2365 Toplam Mesaj: 10