2008-10-31 5 views
0

Я пытаюсь сделать следующие маршруты .. и в настоящее время я собираюсь об этом в действительно длинным способом .. т.е. один маршрут для КАЖДОГО маршрута.ASP.NET MVC: Не знаете, как сделать эти маршруты

это то, что я после того, как ... (предполагая, что я делаю «StackOverflow сайт»)

/      <-- root site 
/page/{page}    <-- root site, but to the page of questions. 
/tag/{tag}/page/{page} <-- as above, but the questions are filtered by tag 
/question/ask   <-- this page :P 
/question/{subject}  <-- reading about a question 

(и нет .. Я определенно не делает сайт StackOverflow :))

ура!

(gawd я нахожу, что все так запутанно время от времени).

ответ

2

Для вашего третьего, я сделаю что-то вроде этого:

routes.MapRoute("page-tag", "tag/{tag}/page/{page}", new {controller="question", action="FilterByTag"}); 

Ваш метод действия, то может выглядеть следующим образом:

public class QuestionController : Controller { 
    public ActionResult FilterByTag(string tag, int page) { 
    //... 
    } 
} 
+0

@Phil, если я использую ваш маршрут тегов ... мне нужно сделать новый маршрут для/page или/tag? альтернативно ... должен ли я иметь отдельные маршруты для них? или они должны быть querystrings вместо этого, потому что они представляют собой незначительные значения - добавьте действия к основному действию (вопросы о листинге). – 2008-11-04 01:11:58

0

Я бы изменил последний URL-адрес на/question/view/{subject}. Futher Создать 3 контроллеры:

  • PageController
  • TagController
  • QuestionController

в Global.asax создать эти маршруты, (взять пример на маршруте по умолчанию)

Надеется, что это помогает ,

+0

Приветствия для комментария. Мне не нужны какие контроллеры, которые мне нужно сделать, просто как правильно определить маршруты и сколько маршрутов. – 2008-10-31 14:07:01

 Смежные вопросы

  • Нет связанных вопросов^_^