asp.net mvc routedata возвращает мне странные вещи? - PullRequest
0 голосов
/ 27 мая 2011

Привет, я создаю asv.net mvc site

Я определил пользовательский маршрут

public static void RegisterRoutes(RouteCollection routes) {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", // Route name
            "{country}/{controller}/{action}/{id}", // URL with parameters
            new { country = "uk", controller = "Mobile", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );

    }

У меня есть базовый контроллер, который делает это

        protected override void Initialize(RequestContext requestContext) {

        foreach (var d in requestContext.RouteData.Values) {
            Debug.WriteLine(d.Key);//here key country returns me favicon.ico
            Debug.WriteLine(d.Value);
        }
        this.DBConnCountryCode = requestContext.RouteData.Values["country"].ToString() + "m";
        ViewData["country"] = this.DBConnCountryCode;
        Debug.WriteLine(ViewData["country"]);
        base.Initialize(requestContext);
    }

поэтому в основном я хочу получить код страны в URL, например:

http://mysite/uk/Mobile я хочу получить "великобританию", но она возвращает мне favicon.ico ??что такое favicon.ico ??почему RouteData.Values ​​["country"] возвращает мне favicon.ico ??

1 Ответ

1 голос
/ 27 мая 2011

favicon.ico - это маленький значок, который появляется слева от вашей панели URL и вкладки.В MVC, когда браузер ищет ваш favicon.ico и не может его найти, происходят странные вещи.

Добавьте эту строку кода под другим маршрутом игнорирования, чтобы игнорировать значок.ICO запрос.

routes.IgnoreRoute("favicon.ico");
...