Re: [MVC] Помогите с роутингом
От: RushDevion Россия  
Дата: 25.01.11 12:11
Оценка: 3 (1)
Мой скромный опыт общения с MVC показывает, что Routes в MVC ничего не знают о query string.
Поэтому не получится задать route, который каким-то образом зависел бы от query string.
Могу предложить такой workaround:

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

    routes.MapRoute(
        "SearchOrHome",
        "",
        new { controller = "Test", action = "SearchOrHome" } );

    routes.MapRoute(
        "Details",
        "{*id}",
        new { controller = "Test", action = "Details" } );            

}

public class TestController : Controller
{
    public ActionResult SearchOrHome( string q )
    {
        if ( string.IsNullOrEmpty( q ) )
        {
            return Content( "Home" );
        }
        else
        {
            return Content( "Search: " + query );
        }
    }

    public ActionResult Details( string id )
    {
        return Content( "Details: " + id );
    }

}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.