none
MVC Controller İsmine -(Tire) Koyma RRS feed

  • Soru

  • Merhaba herkese hayırlı günler,

    MVC de yaptığım projede Controller ismine - li bir isim vermek istiyorum fakat bu -(tire) yi _(alt tire) olarak değiştiriyor.

    Örnek olarak main-page olarak vermem gerekiyor controller ismine fakat bunu kendisi otomatik main_page olarak değiştiriyor.Bu konuda yardımcı olabilirmisiniz.Ben sayfamın main-page olarak gözükmesini istiyorum tarayıcıda. Bunun basit bir yöntemi varmı acaba ?.

    Herkese iyi çalışmalar.Zaman ayırıp okuduğunuz için teşekkürlerimi şimdiden iletiyorum.. 

    11 Şubat 2017 Cumartesi 07:15

Yanıtlar

  • Önce alternatif route handler sınıfı tanımlayın; sınıf içindeki GetHttpHandler() metodu, "-" karakterlerini "_" karakterine çevirir.  Siz farklı bir karakter kullanmak istiyorsanız, metoddaki Replace'ler içinde "_" karakteri yerine seçtiğiniz o karakteri kullanın:

    public class HyphenatedRouteHandler : MvcRouteHandler { protected override IHttpHandler GetHttpHandler(RequestContext requestContext) { requestContext.RouteData.Values["controller"] = requestContext.RouteData

    .Values["controller"].ToString().Replace("-", "_"); requestContext.RouteData.Values["action"] = requestContext.RouteData

    .Values["action"].ToString().Replace("-", "_"); return base.GetHttpHandler(requestContext); } }


    Sonra RouteConfig bölümü içinde yeni route handler sınıfınızı kullanın:

    routes.Add(
            new Route("{controller}/{action}/{id}",
                new RouteValueDictionary(
                    new { controller = "Home", action = "Index", id = UrlParameter.Optional }),
                    new HyphenatedRouteHandler())
            );

    Şuradaki cevaptan alınmıştır.



    • Düzenleyen A.M. Sabuncu 11 Şubat 2017 Cumartesi 08:38
    • Yanıt Olarak İşaretleyen Mehmet Onur 19 Şubat 2017 Pazar 10:50
    11 Şubat 2017 Cumartesi 08:36