Потенциальная проблема с ShowBasicView из вашего редактирования состоит в том, что из-за неявного связывания представлений каждый из этих URL будет возвращать одно и то же представление, а именно:
\ Views \ Home \ ShowBasicView.aspx
Теперь, это может быть тем, что вы хотите, хотя, вероятно, вряд ли.
Вы могли бы настроить это, имея маршрут, такой как:
routes.MapRoute(
"ShowBasic",
"{id}",
new { controller = "Home", action = "ShowBasicView", id = "home" }
);
И измените ваш контроллер на:
public class HomeController: Controller{
public ActionResult ShowBasicView(string pageName){
// Do something here to get the page data from the Model,
// and pass it into the ViewData
ViewData.Model = GetContent(pageName);
// All URLs above map to this action
return View();
}
}
В качестве альтернативы, если содержимое жестко закодировано в представлениях, вы можете попробовать:
public class HomeController: Controller{
public ActionResult ShowBasicView(string pageName){
// All URLs above map to this action
// Pass the page name to the view method to call that view.
return View(pageName);
}
}
Возможно, вам также потребуется добавить маршрут для базового URL, поскольку маршрут ShowBasic будет использоваться только для URL со строковым значением.