Похоже, вы привыкли разбивать ваш сайт с точки зрения ресурсов (тем, пользователей и т. Д.) Для структурирования вашего сайта. Это хорошо, потому что теперь вы можете более или менее думать с точки зрения контроллеров, а не папок.
Допустим, у вас есть такая структура в WebForms ASP.NET.
-Topics
-index.aspx
-newtopic.aspx
-topicdetails.aspx
-Users
-index.aspx
-newuser.aspx
-userdetails.aspx
Структура в приложении MVC будет почти одинаковой с точки зрения пользователя, но вместо сопоставления URL-адреса с папкой, вы сопоставляете URL-адрес с контроллером. Вместо папки (ресурса), в которой находятся файлы, она выполняет действия.
-TopicController
-index
-new
-details
-UserController
-index
-new
-details
Каждый из этих Actions
будет затем решать, какое представление (будь то HTML или JSON / XML) должно быть возвращено в браузер.
Действия могут действовать по-разному в зависимости от того, к какому HTTP-глаголу они относятся. Например;
public class UserController : Controller
{
public ActionResult Create()
{
return View(new User());
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(User user)
{
// code to validate /save user
if (notValid)
return new View(user);
else
return new View("UserCreatedConfirmation");
}
}
Это разновидность URL-адреса RESTful , на которую я рекомендую вам взглянуть. Они могут помочь упростить дизайн вашего приложения.