folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Ticket Sistemi Yaparken Querystring Kullanma ??



Ticket Sistemi Yaparken Querystring Kullanma ??

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    tamam şimdi kavradım session olayını falan mesela diyelim her kullanıcıya ait soru listem var bu listeme databaseden verileri cektıkten sonra =

    {

    List<sorular> soru_listem = new List <sorular>();

    // burda listemi databaseden doldurduğumu varsayalım

    Session["sorular"] = soru_listem;

    }

    -------------------------------------------------------------------------------

    Başka bir event içinde bu liste bana lazım olunca =

    {

    List<sorular> x = new List <sorular>();

    x = (List<sorular>)Session["sorular"];

    // şimdi bu event içinde x isimli listemi kullanabilirim sanırım.

    }

     

    Sadece session ile işlerimi yapsam cookie kullanmasam olur mu? Session in içindeki değeri int e cevirip yerel değişkene atarken (int) mi yoksa convert.toint32 mı demem lazım?? Session a baska bir liste atarsam eski liste tamamen kaybolur değil mi aynı değişken gibi sonucta.. 

    @sharphocam verdiğin linkede bakıyorum ben session ile olayı cözersem bu verdiğin linke gerek yok sanırım öyle değil mi?


    lrny.app
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CuCo
    CuCo's avatar
    Kayıt Tarihi: 19/Ağustos/2014
    Erkek

    Session her gelen request için yeni değerler tutar. A kullanıcısı sayfaya geldiğinde onun için tuttuğun sessionda 5 öğe varken B kullanıcısı sayfaya geldiğinde onun için yeni bir session oluşur ve 15 değer tutabilir. Request sona erdiğinde, sayfa kapandığında diyelim, değer silinir. Session mantığı budur.

    Querystring ile alacaksan id değerini, kullanıcının dummy değerler girmemesini sağlamalı ve sonrasında dediğin gibi ilgili ID'li öğeyi görme yetkisi var mı kontrol etmelisin. Kullandığın yapıyı bilmiyorum ama bu ticket ya da ticketa bağlı mesajlar kime ait bilgisini neden her ticket'ı ya da mesajı DB'ye yazarken tutmuyorsun? Tabloya oluşturan kullanıcı bilgisini yazabilirsin. Sonra o ID'li ticketi biri görüntülemek istediğinde tablodan o ticketı bulur, sahibi o kullanıcı mı diye bakarsın. Kullanıcılarını nasıl store ediyorsun bilmiyorum ama unique bir ıd ya da guid değerleri vardır eminim. Ticket tablonda oluşturan kullanıcı için o bilgiyi tutabilirsin.

    querystring değerini int e çevirirken ben convert.toint32'yi tercih ederdim. Ama kullanıcının text girebileceğini varsayarak önce querystring değerinin gerçekten int olup olmadığına da bakmalısın ki sayfa hataya düşmesin. öyle bir property oluşturabilirsin ticketoku.aspx'te querystring ile ilerleyeceksen:

    public int ticketID

            {

                get

                {

                    int result = 0;

                    string IDStringValue = Request.QueryString["ticketID"];

                    if (!string.IsNullOrEmpty(IDStringValue))

                    {

                        int parsedValue = 0;

                        if (int.TryParse(IDStringValue, out parsedValue))

                            result = parsedValue;

                        else

                            result = 0;

                    }

     

                    return result;

                }

            }

     

    Bu şekilde eğer veri int ise convert edilen değer döner, eğer int'ten farklı ise ya da querystring yok ise her şekilde 0 döner, duruma göre sen de gerekli mesaj ya da yönlendirmeleri yaparsın.

    Umarım işine yarar.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    LuCiFeR
    LuCiFeR's avatar
    Kayıt Tarihi: 25/Eylül/2005
    Erkek

    Static olayını hallettıkten sonra ;

    Ticket Tablonu aşagıdaki gibi varsayıp

    ticketId

    TicketTitle

    UserId

    ticketGuid 

     

    select * from ticket where UserId = convert.toint32(Session["userId".tostring()]) ile çek sorgunu yinede ben qerystring ile oynanmasın diyorsan Guid.NewGuid ile guid oluşturup onun referansıyla goturup getırırsın verılerı. Aklıma gelen bunlar

Toplam Hit: 1692 Toplam Mesaj: 14