asp.net-mvc-3 – 根据url更改控制器中的布局
发布时间:2020-12-15 23:09:14 所属栏目:asp.Net 来源:网络整理
导读:我有控制器PlayerController和里面的动作:视图,信息,列表. 所以在网址“/ Player / View”上我得到默认布局的结果. 我希望在请求“/外部/视图”时获得具有不同布局的结果. 我怎样才能实现这一目标? 解决方法 虽然您可以按照另一个答案中的建议覆盖控制器的
我有控制器PlayerController和里面的动作:视图,信息,列表.
所以在网址“/ Player / View”上我得到默认布局的结果. 我希望在请求“/外部/视图”时获得具有不同布局的结果. 我怎样才能实现这一目标? 解决方法
虽然您可以按照另一个答案中的建议覆盖控制器的布局,但在我看来,这意味着控制器过于参与确定UI的内容.最好将此纯粹留给视图来决定.
最接近您要求的是在当前的“?/ Views / _ViewStart.cshtml”中执行此操作: @{ if(Context.Request.Path.StartsWith("/External",StringComparison.OrdinalIgnoreCase)) Layout = "~/Views/_ExternalLayout.cshtml"; else Layout = "~/Views/_Layout.cshtml"; } 其中“?/ Views / _ExternalLayout.cshtml”是您的替代布局. 可能要检查领先的“/”是否正确,我不记得是不是. 如果你把它放在现有的_ViewStart中,那么为响应以“/ External”开头的url而呈现的任何视图都将使用这个新布局,否则将使用“普通”布局. 另一种方法是使用路由表添加可在此处用于做出布局决策的路由值;但我已经采用这种方法来保持简单. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 英国邮政编码查找流程的好例子
- asp.net-mvc-4 – ASP.NET MVC电子商务解决方案(商业或开放
- asp.net – Response.Redirect(“SomeURL”,false)的有效用
- asp.net – 通过控件循环
- asp.net – 实体框架:Singletonish ObjectContext – Good
- 如何从ASP.NET MVC网站中生成可下载的c#类?
- 在asp.net之后的回发动作刷新页面
- asp.net – 没有配置验证处理程序来处理方案:自动
- asp.net-mvc – 如何将401认证错误返回给RestSharp客户端?
- asp.net – Context中不存在DeleteObject
推荐文章
站长推荐
- asp.net-web-api – Asp.net web api中的DbGeome
- 文本框导致ASP.NET C#SQL出现问题
- asp.net-mvc – 枚举ASP.NET MVC RouteTable路由
- 初识ABP vNext(5):ABP扩展实体
- asp.net-mvc – ASP.net Web API和System.Net.Ht
- ASP.NET应用程序中需要定时炸弹
- asp.net-mvc – 我可以在_Layout.cshtml中有条件
- asp.net-mvc – MVC在提交按钮单击后登录重定向后
- asp-classic – 在VBScript中输出GUID会忽略它之
- asp.net – 在SignalR 2.0中使用现有的IoC容器
热点阅读