我有一个网站,xyz.com,用户正在设置管理员帐户,然后他们有其他用户在他们下注册。他们叫他们的帐户名wisconsinsponsor
。另一个用户设置了另一个名为 的帐户iowasponsor
。因此,我希望能够让用户能够浏览xyz.com/wisconsinsponsor
并xyz.com/iowasponsor
进入这些用户设置的适当设置。
因此,在我浏览到xyz.com/wisconsinsponsor
哪个可以让我获得 wisconsinsponsor 的适当设置后,我可以进入xyz.com/wisconsinsponsor/{controller}/{method}
.
所以我添加了以下代码。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
List<Sponsor> sponsors = new SponsorContext().Sponsors.ToList();
foreach (Sponsor sponsor in sponsors)
{
// ALL THE PROPERTIES:
// rentalProperties/
routes.MapRoute(
name: sponsor.SponsorName,
url: sponsor.SponsorName + "{controller}/{action}/{id}",
defaults: new
{
controller = "Home",
action = "Index",
id = sponsor.SponsorId
}
);
}
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {
controller = "Home",
action = "Index",
id = UrlParameter.Optional }
);
}
因此,主要目标是在不登录的情况下,我可以获得与每个“赞助商”相关的信息,然后如果用户在没有指定赞助商的情况下访问“xyz.com”,则可以获得一般信息。以下内容可以登陆主页,但是当我导航到登录或任何其他视图时,我得到例如'xyz.com/[我在数据库中的第一个赞助商条目]/admin/login'而不是'xyz.com/admin/login'。为什么导航不属于默认路线?