#asp.net-mvc-3
#asp.net-mvc-3
Вопрос:
У меня есть эта карта маршрута (обратите внимание, что topicName игнорируется):
routes.MapRoute(
"Topics", // Route name
"Topic/{topicName}/{action}",
new { controller = "Topic", action = "AddQuestion" });
И я хочу, чтобы он по умолчанию отображался на этот URL:
http://localhost:51421/Topic/SomeName/AddQuestion?topicId=1 (или, если это невозможно, по этому URL:http://localhost:51421/Topic/SomeName/AddQuestion/topicId/1 )
(который должен вызвать это действие:
public ActionResult AddQuestion(int topicId)
{
return View();
}
)
Но в любом случае мне нужны все эти данные в URL.
Каков правильный способ сделать это?
Комментарии:
1. Что вы подразумеваете под значением URL по умолчанию ? Какой URL-адрес вы вводите в браузере?
2. Нет. Я хочу, чтобы localhost: 51421 вызывал AddQuestion темы с TopicID = 1
Ответ №1:
Вы могли бы добавить маршрут по умолчанию:
routes.MapRoute(
"Topics",
"Topic/{topicName}/{action}/{topicId}",
new { controller = "Topic", action = "AddQuestion", topicId = "1" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{topicId}",
new { controller = "Topic", action = "AddQuestion", topicId = "1" }
);
Комментарии:
1. Я целую вечность пытался изменить тот, который вы дали мне ранее, вместо того, чтобы просто добавлять новый.. Потребуется некоторое время, чтобы освоиться с этим .. 🙂 Еще раз спасибо.