folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder MVC Routing'e İlişkin Bir Sorun



MVC Routing'e İlişkin Bir Sorun

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nickalti
    Lightsaber
    Lightsaber's avatar
    Kayıt Tarihi: 29/Ağustos/2012
    Erkek

    Merhaba hocalar,

    MVC'de xxx.com/Yazilar?baslik=LoremIpsum gibi bir url'yi  xxx.com/Yazilar/LorempIpsum a nasıl çevirebilirim ?

    Sabahtan beri türlü türlü şey denedim, regex denedim yapamadım bi türlü..


    İnsan; insan olsaydı,insan olmazdı..
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fuzulli
    Fuzulli's avatar
    Kayıt Tarihi: 30/Haziran/2007
    Erkek

    Dostum sen bir şey yapmıyorsun hazır geliyo zaten bak söyle

    xxx.com/controllAdi/methodAdi/id  şeklinde hazır geliyo daha sonra özelleştiriyorsun.

    routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{id}",
                    defaults: new { controller = "default", action = "Index", id = UrlParameter.Optional }
                );


    Varsayılan routConfig dosyayı bunu söyle yapabilirsin mesela;
     
    routes.MapRoute(null, "Proje/{seoText}-{id}", new { controller = "default", action = "Index" });



    xxx.com/Proje/ ile başlayan yerde bu harita devreye girecek ve seoText'inin id değerine göre yönlendirecek en temeli yani, araştır kurcala çözersin çok basit bir methodtur.
    Fuzulli tarafından 24/Ağu/14 14:53 tarihinde düzenlenmiştir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nickalti
    Lightsaber
    Lightsaber's avatar
    Kayıt Tarihi: 29/Ağustos/2012
    Erkek
    Fuzulli bunu yazdı

    Dostum sen bir şey yapmıyorsun hazır geliyo zaten bak söyle

    xxx.com/controllAdi/methodAdi/id  şeklinde hazır geliyo daha sonra özelleştiriyorsun.

    routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{id}",
                    defaults: new { controller = "default", action = "Index", id = UrlParameter.Optional }
                );


    Varsayılan routConfig dosyayı bunu söyle yapabilirsin mesela;
     
    routes.MapRoute(null, "Proje/{seoText}-{id}", new { controller = "default", action = "Index" });



    xxx.com/Proje/ ile başlayan yerde bu harita devreye girecek ve seoText'inin id değerine göre yönlendirecek en temeli yani, araştır kurcala çözersin çok basit bir methodtur.

    hocam zaten route ekledim kısmen özelleştirdim ama istediğimi yapamadım biraz ayrıntı vereyim:

      routes.MapRoute(
                    name: "Yazilar2",
                    url: "Yazilar/{baslik}",
                    defaults: new {controller = "Home", action = "Yazilar", id = UrlParameter.Optional}
                    ); 

    url olarak xx.com/Yazilar/baslik girilince HomeController daki Yazilar action'ına baslik parametresini yolluyor.

    bense bunun yanında xx.com/Yazilar?=baslik girildiğinde xx.com/Yazilar/baslik olarak yönlensin istiyorum


    İnsan; insan olsaydı,insan olmazdı..
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fuzulli
    Fuzulli's avatar
    Kayıt Tarihi: 30/Haziran/2007
    Erkek

    Bak MVC Routes methodunu tam anlamamışsın sanırım eski QueryString yöntemini unut örn;( index?ad=Mulayim) Bu yazım seo dostu olmadığı için MVC Routes geliştirildi mantık şu

    routes.MapRoute(null, "Proje/{seoText}-{id}", new { controller = "default", action = "Index" });

    xxx.com/Proje den gelen istek senin tanımladığın kontrol ve action a iletilir. Burda varsayılan olarak "Default" kontrolü ve "Index" methodu.

    Controller Kısmı;
    [HttpPost]
    public ActionResult Index(int id)
    {
         var a = db.uye.where(x => x.id == id).SingOrDefault();
         return View(a);
    }

    View Kısmına yönlendirme ise link söyle olacak;
    <a href="/Proje/@Model.seoText-@Model.id">Üyeye Git</a>
    Çıktısı : <a href="/Proje/uye-duzenle-falan-filan-1234">Üyeye Git</a>

    Controllerden gelen model i view de nasıl yazacağını bildiğini varsayıyorum.

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nickalti
    Lightsaber
    Lightsaber's avatar
    Kayıt Tarihi: 29/Ağustos/2012
    Erkek
    Fuzulli bunu yazdı

    Bak MVC Routes methodunu tam anlamamışsın sanırım eski QueryString yöntemini unut örn;( index?ad=Mulayim) Bu yazım seo dostu olmadığı için MVC Routes geliştirildi mantık şu

    routes.MapRoute(null, "Proje/{seoText}-{id}", new { controller = "default", action = "Index" });

    xxx.com/Proje den gelen istek senin tanımladığın kontrol ve action a iletilir. Burda varsayılan olarak "Default" kontrolü ve "Index" methodu.

    Controller Kısmı;
    [HttpPost]
    public ActionResult Index(int id)
    {
         var a = db.uye.where(x => x.id == id).SingOrDefault();
         return View(a);
    }

    View Kısmına yönlendirme ise link söyle olacak;
    Üyeye Git
    Çıktısı : Üyeye Git

    Controllerden gelen model i view de nasıl yazacağını bildiğini varsayıyorum.

    hocam tam açıklayamadım galiba ben zaten querystring olayından kurtulmaya çalışıyorum.

    Yorum bölümü var projede yorumekle action resultunda

    return RedirecToAction("Yazilar",new{baslik=Model.blabla});

    diyorum bunun sonucunda  Yazilar?baslik=blabladeger şeklinde döndürüyor ben de MVC routes ile bunu değiştirmeye çalışıyorum. Umarum açıklayabilmişimdir tam olarak.


    İnsan; insan olsaydı,insan olmazdı..
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nickalti
    Lightsaber
    Lightsaber's avatar
    Kayıt Tarihi: 29/Ağustos/2012
    Erkek

    upp


    İnsan; insan olsaydı,insan olmazdı..
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nickalti
    Lightsaber
    Lightsaber's avatar
    Kayıt Tarihi: 29/Ağustos/2012
    Erkek

    updulsuavi


    İnsan; insan olsaydı,insan olmazdı..
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    Benimde bununla ilgili desteğe ihtiyacım var fakat dağınık yapısı sebebiyle MVC yi hiç sevemedim. WebForms daki urlroutingle de yapabilirmiyiz?

    Routing kullanınca tüm parametreleri routingden almalıyız dimi? Querystringlere girmememiz gerkiyor ?

    Ben şahsen SEO falan umursamıyorum, tek istediğim adresleri kafama esince dinamik değiştirebilmek, mesela bugün members.asp?id=3 yaptığımı yarın koda dokunmadan routing ile  site.com/Members/3 yapabilmek istiyorum, mümkün mü bu?

    HolyOne tarafından 24/Ağu/14 20:18 tarihinde düzenlenmiştir

    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    Bir diğer sorum da Routing ile uzantıları değiştirebilirmiyim ? mesela aspx değil php gözüksün?


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nickalti
    Lightsaber
    Lightsaber's avatar
    Kayıt Tarihi: 29/Ağustos/2012
    Erkek
    HolyOne bunu yazdı

    Benimde bununla ilgili desteğe ihtiyacım var fakat dağınık yapısı sebebiyle MVC yi hiç sevemedim. WebForms daki urlroutingle de yapabilirmiyiz?

    Routing kullanınca tüm parametreleri routingden almalıyız dimi? Querystringlere girmememiz gerkiyor ?

    Ben şahsen SEO falan umursamıyorum, tek istediğim adresleri kafama esince dinamik değiştirebilmek, mesela bugün members.asp?id=3 yaptığımı yarın koda dokunmadan routing ile  site.com/Members/3 yapabilmek istiyorum, mümkün mü bu?

    hocam bi ara sana sorayım dedim iyi ki sormamışım sen de bilmiyormuşsun :))

    hocam benim amacım şu an querystringleri de route ile almaya çalışmak. constraints de regex kullanmayı denedim daha da sapıttı..


    İnsan; insan olsaydı,insan olmazdı..
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    regex çok hızlı çalışan bişey değil, adres parse ederken kullanılması yanlış bence. Zaten routing fonksiyonları eğer regex kullanmaya izin veriosa kullanmam.

     


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
Toplam Hit: 1227 Toplam Mesaj: 16