我有一个问题,我想根据它的来源以不同的方式显示视图(不同的母版页),但不知道从哪里开始......
我有几条路线可以捕获包含不同结构的各种不同类型的网址。
在下面的代码片段中,我有一个产品路线,然后有一个合作伙伴网站路线,它也可以转到产品页面,但假设这个合作伙伴是百事可乐,他们希望在母版页上展示自己的品牌,而不是我们自己的默认样式。假设我去产品/cola.htm。这应该转到与以下相同的网址合作伙伴/百事可乐/产品/cola.htm,并且 PartnerRedirect 将能够根据通配符处理 url,通过将 url 通配符(在本例中为“products/cola.htm”)转换为控制器操作,并将用户转发到(但只需更改视图中的母版页)。
routes.MapRoute(
"Product",
"products/{product}.htm",
new { controller = "Product", action = "ShowProduct" }
);
routes.MapRoute(
"ProductReview",
"products/{product}/reviews.htm",
new { controller = "Product", action = "ShowProductReview" }
);
routes.MapRoute(
"Partner",
"partners/{partner}/{*wildcard}",
new { controller = "Partners", action = "PartnerRedirect" }
);
这可能吗?如果是这样,怎么办?
提前谢谢了。
在您的合作伙伴控制器中,为什么不设置一个 cookie 来指示您想要显示哪个合作伙伴,然后重定向到路由的通配符部分。这样您就可以为所有后续页面视图显示相同的合作伙伴布局。
我不知道这是否是您正在寻找的,但这可能是一个选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)