SORU
10 Kasım 2008, PAZARTESİ


ASP.NET MVC bir güzergah alt dayanarak yapmak mümkün mü?

Alt bilgi rotasını belirlemek için kullandığı ASP.NET MVC bir yol olması mümkün mü? Örneğin:

  • user1.domain.combir yere gider
  • kullanıcı2.domain.combir başka gidiyor?

Ya da, bunu yapabilirim bunların her ikisi de username bir parametre ile aynı denetleyicisi/eylem?

CEVAP
12 ŞUBAT 2009, PERŞEMBE


Yeni bir rota oluşturma ve küresel RegisterRoutes yolları koleksiyonuna ekleyerek yapabilirsin.asax. Aşağıda, özel bir Rota çok basit bir örnek:

public class ExampleRoute : RouteBase
{

    public override RouteData GetRouteData(HttpContextBase httpContext)
    {
        var url = httpContext.Request.Headers["HOST"];
        var index = url.IndexOf(".");

        if (index < 0)
            return null;

        var subDomain = url.Substring(0, index);

        if (subDomain == "user1")
        {
            var routeData = new RouteData(this, new MvcRouteHandler());
            routeData.Values.Add("controller", "User1"); //Goes to the User1Controller class
            routeData.Values.Add("action", "Index"); //Goes to the Index action on the User1Controller

            return routeData;
        }

        if (subDomain == "user2")
        {
            var routeData = new RouteData(this, new MvcRouteHandler());
            routeData.Values.Add("controller", "User2"); //Goes to the User2Controller class
            routeData.Values.Add("action", "Index"); //Goes to the Index action on the User2Controller

            return routeData;
        }

        return null;
    }

    public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
    {
        //Implement your formating Url formating here
        return null;
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CommonArtisan

    CommonArtisa

    7 Temmuz 2012
  • DragsterMC Gaming

    DragsterMC G

    30 HAZİRAN 2013
  • Crossover

    Crossover

    18 HAZİRAN 2007