asp.net-mvc - ASP.NET Mvc 站点中登录用户的自定义目录

标签 asp.net-mvc view routing seo robots.txt

我正在开发一个 ASP.Net MVC 项目,其中登录用户和普通用户之间的 url 格式没有区别,他们都浏览像这些 url 的页面:

 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)

我怎样才能做到这一点?

最佳答案

看来您需要使用 Area 的。 创建一个用户区域并将所有用于登录用户的订单和帮助等 Controller 移动到该区域。

如果不想把这个移到用户区。您也可以进行路由配置。类似于 -

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

关于asp.net-mvc - ASP.NET Mvc 站点中登录用户的自定义目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32712730/

相关文章:

c# - 如何让一个 View 模型更新另一个 View 模型的属性?

Backbone.js 不会路由到与当前 URL 相同的 URL

asp.net-mvc - MVC 处理子异步方法的异常

Asp.net web api + Entity Framework : multiple requests cause data conflict

c# - 您如何将验证消息组合在一起?

android - 如何获得 Canvas 区域点击?

html - 在输入下方显示验证消息(IE9 和 IE7)

MySQL:使用 View 是否比运行 5+ JOIN 语句更快?

php - 获取所有路由,Laravel 4

asp.net-mvc - ASP.Net MVC View 架构