В моем веб-приложении. Я хочу настроить маршрут следующим образом:C# asp.net mvc 1.0 routing
/document/quality/index
/document/general/index
/document/quality/detail/[id]
/document/general/detail/[id]
Как вы можете видеть, у меня есть два вида документов: общее и качественное. Каков наилучший способ установить это в моем файле global.asax? Я попытался следующие, но я не получить его работы:
routes.MapRoute(
"QualityDocument",
"Document/Quality/{action}/{id}",
new { controller = "Document", action="Index", id= ""}
);
routes.MapRoute(
"GeneralDocument",
"Document/General/{action}/{id}",
new { controller = "Document", action = "Index", id = "" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
EDIT
У меня он работает прямо сейчас, но когда я изменить действие = «» в моем asax файл это Безразлично «т больше работать:
Global.asax:
routes.MapRoute(
"GeneralDocument",
"Document/General/{action}/{id}",
new { controller = "Document", action = "blaat", id = "" }
);
DocumentController:
public void blaat(int? id)
{
Response.Write("algemeen");
// return View();
}
Теперь я получаю сообщение об ошибке «Ресурс не найден». Но когда я использую индекс вместо blaat, он работает. Как так?
Что вы имеете в виду путем добавления в атрибуте контроллера? Как это работает? – Martijn
Я просто имею в виду put {controller} в вашем шаблоне. Мне было интересно, не удалось ли вывести значение контроллера, поскольку оно не появилось в вашем шаблоне. – tvanfosson
Немного подумав об этом, вам не нужно вытаскивать свойство типа документа, чтобы знать, как различать эти два? Это может потребовать, чтобы пользовательский обработчик маршрута выполнял правильно. – tvanfosson