Добавить простой маршрут - PullRequest
0 голосов
/ 13 ноября 2009

Я пытаюсь добавить маршрут, который показывает некоторые данные, основанные на строковом параметре, например:

http://whatever.com/View/078x756 

Как мне создать этот простой маршрут и куда его поместить?

Ответы [ 3 ]

2 голосов
/ 13 ноября 2009

В вашем файле global.asax.cs вы добавляете следующие строки:

routes.mapRoute(
    // The name of the new route
    "NewRoute",

    // The url pattern
    "View/{id}",

    // Defaulte route data                                     
    new { controller = "Home", action = "Index", id = "078x756" });

Убедитесь, что вы добавили их до регистрации маршрута по умолчанию - ASP.NET MVC Framework выполнит поиск маршрутов по порядку и выберет первый, соответствующий вашему URL. Phil Haack's * Routing Debugger * является ценным инструментом при устранении неполадок.

1 голос
/ 14 ноября 2009

Маршруты добавляются в global.asax.cs

Пример добавления маршрута:

namespace MvcApplication1
{
    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    // visit http://go.microsoft.com/?LinkId=9394801

    public class MvcApplication : System.Web.HttpApplication
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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


            routes.MapRoute(
               "WhatEver"
               "{View}/{id}",
               new {controller = "Home","action = "Index", id="abcdef"}
            );

        }

        protected void Application_Start()
        {
            RegisterRoutes(RouteTable.Routes);
        }
    }
}
}
1 голос
/ 13 ноября 2009

Маршруты обычно настроены в методе Application_Start в Global.asax. Для вашего конкретного случая вы можете добавить маршрут до маршрута по умолчанию:

routes.MapRoute(
    "Views",
    "View/{id}",
    new
    {
        controller = "somecontroller",
        action = "someaction",
        id = ""
    }
);

routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new
    {
        controller = "home",
        action = "index",
        id = ""
    }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...