asp.net-mvc – 使用catchall通配符重定向到控制器(但使用不同的
发布时间:2020-12-16 00:16:51 所属栏目:asp.Net 来源:网络整理
导读:我有一个问题,我希望以不同的方式显示视图(不同的母版页),具体取决于它来自哪里,但不知道从哪里开始… 我有几条路线可以捕获包含不同结构的各种不同类型的网址. 在下面的代码片段中,我有一个产品路线,然后我有一个合作伙伴网站路线,也可以转到产品页面,但是
我有一个问题,我希望以不同的方式显示视图(不同的母版页),具体取决于它来自哪里,但不知道从哪里开始…
我有几条路线可以捕获包含不同结构的各种不同类型的网址. 在下面的代码片段中,我有一个产品路线,然后我有一个合作伙伴网站路线,也可以转到产品页面,但是让我们说这个合作伙伴是百事可乐,他们希望他们的品牌在主页上,而不是我们自己的默认样式.假设我转到products/cola.htm.这应该与partners/pepsi/products/cola.htm相同,并且PartnerRedirect将能够通过翻译url通配符(在本例中为“products / cola.htm”)来处理基于通配符的url进入控制器操作,并转发用户,(但只需更改视图中的母版页). routes.MapRoute( "Product","products/{product}.htm",new { controller = "Product",action = "ShowProduct" } ); routes.MapRoute( "ProductReview","products/{product}/reviews.htm",action = "ShowProductReview" } ); routes.MapRoute( "Partner","partners/{partner}/{*wildcard}",new { controller = "Partners",action = "PartnerRedirect" } ); 这可能吗?如果是这样,怎么样? 提前谢谢了. 解决方法
在您的合作伙伴控制器中,为什么不设置一个cookie来指示您要显示哪个合作伙伴,然后重定向到该路径的通配符部分.这样,您可以为所有后续页面视图显示相同的合作伙伴布局.
我不知道这是否是您正在寻找的,但它可能是一种选择. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- entity-framework – EF Core:内置Created和Edited时间戳
- asp.net-mvc – ASP.NET MVC WebApi:没有为此对象定义的无
- 验证 – ASP.NET MVC 4避免生成datetime的data-val-date
- ASP.NET MVC2与实体框架4 – AsEnumerable()或ToList()在存
- asp.net-mvc-4 – 如何在asp.net mvc4中将OpenID迁移到OAut
- asp.net-mvc – Sql Views的流畅Nhibernate映射
- .net – 使用log4net创建记录器库的最佳实践.是
- asp.net – Session实际上如何在MVC中运行?
- asp.net – CookieContainer和Response.Cookies集合有什么区
- 如何减少ASP.net MVC 2中的首次加载时间?
推荐文章
站长推荐
热点阅读