MVC Создать действие URL без параметров - PullRequest
0 голосов
/ 04 августа 2020

Привет всем, я действительно запутался в MVC routeconfig. Я пробую все и не могу получить правильный результат.

Теперь я на этой странице в моем проекте: https://localhost: 44353 / tr-TR / emlak-ilanlari / Tum-Sehirler / Tum-Ilceler / Tum-Kategoriler / Kategoriler / Tum-Emlak-Kategorileri? fyt = 1 & fytaralik = 10001-250000 & dp = 1 & esyno = 1

и я хочу сгенерировать на той же странице вот так https://localhost: 44353 / tr-TR / emlak-ilanlari

Я пытаюсь вот так и не могу получить то, что хочу.

ss, ss2 и ss3 дает мне null .

// результат ss1 примерно такой

var ss1=https://localhost:44353/tr-TR/emlak-ilanlari/Tum-Sehirler/Tum-Ilceler/Tum-Kategoriler/Kategoriler/Tum-Emlak-Kategorileri?fyt=1&fytaralik=10001-250000&dp=1&esyno=1

var ss = Url.Action("List", "Emlak", new {sehir = "", ilce = "", tumkategori = "", kategori = "", emlakkategori = "", language = Thread.CurrentThread.CurrentUICulture.IetfLanguageTag}, Request.Url.Scheme);
var ss2 = Url.Action("List", "Emlak", new {sehir = "", ilce = "", tumkategori = "", kategori = "", emlakkategori = "", language = Thread.CurrentThread.CurrentUICulture.IetfLanguageTag});
var ss3 = Url.Action("List", "Emlak", new {sehir = "", ilce = "", tumkategori = "", kategori = "", emlakkategori = "", language = Thread.CurrentThread.CurrentUICulture.IetfLanguageTag},null);
var ss1 = Url.Action("List", "Emlak", new {language = Thread.CurrentThread.CurrentUICulture.IetfLanguageTag}, Request.Url.Scheme);

Вот мой файл routeconfig:

   routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{language}",
            defaults: new { controller = "Home", action = "Index", language = "tr-TR"}
        );
        
        routes.MapRoute(
            name: "EmlakIlanlari",
            url: "{language}/emlak-ilanlari/{sehir}/{ilce}/{tumkategori}/{kategori}/{emlakkategori}",
            defaults: new
            {
                controller = "Emlak",
                action = "List",
                language = "tr-TR"
                ,
                sehir = "",
                ilce = "",
                tumkategori = "",
                kategori = "",
                emlakkategori = "",
            }
        );

        routes.MapRoute(
            name: "LoadEmlakIlan",
            url: "{language}/get-vitrin-emlak",
            defaults: new { controller = "Emlak", action = "LoadEmlakIlan", language = "tr-TR" }
        );
  
        routes.MapRoute(
            name: "EmlakIlanSingle",
            url: "{language}/emlak-ilan/{sehir}/{ilce}/{a}/{b}/{c}/{id}",
            defaults: new
            {
                controller = "Emlak", action = "Single", language = "tr-TR",
                sehir=UrlParameter.Optional,
                ilce=UrlParameter.Optional,
                a=UrlParameter.Optional,
                b=UrlParameter.Optional,
                c=UrlParameter.Optional,
                id=UrlParameter.Optional,
            }
        );
        routes.MapRoute(
            name: "EmlakHakkimizda",
            url: "{language}/hakkimizda",
            defaults: new { controller = "Pages", action = "Hakkimizda", language = "tr-TR" }
        );
        routes.MapRoute(
            name: "EmlakIletisim",
            url: "{language}/iletisim",
            defaults: new { controller = "Pages", action = "Iletisim", language = "tr-TR" }
        );
        routes.MapRoute(
            name: "EmlakFaq",
            url: "{language}/emlak-sikca-sorulan-sorular",
            defaults: new { controller = "Pages", action = "Faq", language = "tr-TR" }
        );
        routes.MapRoute(
            name: "HataPage",
            url: "{language}/hata",
            defaults: new { controller = "Error", action = "ErrorPage", language = "tr-TR" }
        );

Я могу не вижу ничего плохого, пожалуйста, помогите.

...