Koineks
  • 04-12-2014, 15:28:17
    #1
    1/2
    selamlar bir projemde Url Routing yapıyorum localde sorunsuz çalışmakda ancak sunucuya atınca konularım çalışmıyor
    Kodlarım

    aspx:
    <a href="<%#urlolustur(Eval("Id").ToString(),Eval("Baslik").ToString()) %>">
    cs:
     public string urlolustur(string id, string baslik)
            {
                string temp = "";
                temp = baslik.ToLower();
                temp = TrCevir(temp);
    
                return "Sodefac-" + id + "-" + temp + ".html";
    
            }
            public string TrCevir(string FileName)
            {
                FileName = FileName.ToLower();
                FileName = FileName.Replace(" ", "-");
                FileName = FileName.Replace("ş", "s");
                FileName = FileName.Replace("ı", "i");
                FileName = FileName.Replace("ğ", "g");
                FileName = FileName.Replace("ç", "c");
                FileName = FileName.Replace("ü", "u");
                FileName = FileName.Replace("ö", "o");
                return FileName;
            }
    global.asax:

     protected void Application_BeginRequest(object sender, EventArgs e)
            {
                string adres = Request.RawUrl;
                if (System.IO.Path.GetExtension(adres) == ".html")
                {
                    string[] parcalar = System.IO.Path.GetFileName(adres).Split('-');
                   if (parcalar[0] == "Sodefac")
                   {
                        Context.RewritePath("~/Incele.aspx", "", "baslik=" + parcalar[0] + "&id=" + parcalar[1]);
                  }
    
               }
           }

    Arkadaşlar Sorun tam olarak şu kodlarda sıkıntı yok sayfa uzantısını aspx yapınca return "Sodefac-" + id + "-" + temp + ".aspx"; sunucuda çalışıyor benim istegim .html de çalıştırmak
  • Sponsor Reklam
  • 04-12-2014, 16:55:19
    #2
    1/2
    Global.asax dosyanın


    private void SetRouteMaps()
    {
    //"Sodefac-" + id + "-" + temp + ".html";
    RouteTable.Routes.MapPageRoute("BirIsimVer", "Sodefac-{id}-{temp}.html", "~/Incele.aspx");

    }
    public void Application_Start(object sender, EventArgs e)
    {
    SetRouteMaps();
    }



    ~/Incele.aspx dosyanın
    Page Load eventinin içine

    string temp = RouteData.Values("temp").ToString();
    string id = RouteData.Values("id").ToString();

    sonrasında istediğin gibi yardır.
  • 04-12-2014, 17:02:17
    #3
    1/2
    BigCoder adlı üyeden alıntı
    Global.asax dosyanın


    private void SetRouteMaps()
    {
    //"Sodefac-" + id + "-" + temp + ".html";
    RouteTable.Routes.MapPageRoute("BirIsimVer", "Sodefac-{id}-{temp}.html", "~/Incele.aspx");

    }
    public void Application_Start(object sender, EventArgs e)
    {
    SetRouteMaps();
    }



    ~/Incele.aspx dosyanın
    Page Load eventinin içine

    string temp = RouteData.Values("temp").ToString();
    string id = RouteData.Values("id").ToString();

    sonrasında istediğin gibi yardır.


    page_loada sıkıntı cıkıyor hocam
  • 04-12-2014, 18:27:45
    #4
    1/2
    ~/Incele.aspx dosyanın
    Page Load eventinin içine yazmışım bakarsan.

    Yok web user control (.ascx) kullanıyor ve oradadan işlem yapıyorsan yine load olayının içine bu sefer

    string id = HttpContext.Current.Request.RequestContext.RouteDa ta.Values("id").ToString();

    string temp = HttpContext.Current.Request.RequestContext.RouteDa ta.Values("temp").ToString();


    şeklinde alabilirsin.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 18:27:45 -->-> Daha önceki mesaj 17:17:56 --

    CemUter adlı üyeden alıntı


    page_loada sıkıntı cıkıyor hocam
    Cevap yazdım denedinmi, sonuç nedir?