2015-09-22 2 views
0

Я работаю над проектом ASP.Net MVC, в котором нет разницы в форматах URL-адресов между зарегистрированным пользователем и обычным пользователем, все они просматривают страницы, подобные этим URL-адресам :Пользовательский каталог для зарегистрированных пользователей в ASP.NET Mvc-сайте

www.example.com/home/contents (anyone) 
www.example.com/home/about (anyone) 
www.example.com/order/list (page for logged in user) 
www.example.com/help/contact (page for logged in user) 
www.example.com/buy-now (custom url for route order/buy action) 

Я хочу переместить пользователя вошедшие в систему страницы в другую папку, чтобы поисковые провайдеры не индексировали эти страницы. Страницы, которые не входят в систему, должны оставаться с одинаковым URL-адресом. Таким образом, результат должен быть

www.example.com/home/contents (anyone) 
www.example.com/home/about (anyone) 
www.example.com/user/order/list (page for logged in user) 
www.example.com/user/help/contact (page for logged in user) 
www.example.com/user/buy-now (custom url for route order/buy action) 

Как я могу достичь этого?

+1

Почему бы вам не использовать Районы? –

+0

Если я использую области, должен ли я перемещать контроллер и просматривать файлы в этих папках области? Я начал без использования Areas, поэтому все файлы просмотра находятся в папке Views и Controller в папке Controller. Я хочу добиться этого с минимальными изменениями. – Can

ответ

0

Похоже, что вам нужно использовать зону. Создайте пользовательскую область и переместите весь свой контроллер заказа и справки и т. Д., Которые предназначены для входа в систему пользователя в эту область.

Если вы не хотите переместить это в пользовательскую область. Вы также можете настроить маршрут. Нечто похожее на -

routes.MapRoute(
       name: "User", 
       url: "user/{controller}/{action}/{id}", 
       defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
      ); 

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

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