asp.net-mvc-3 – 根据url更改控制器中的布局
发布时间:2020-05-25 06:59:05 所属栏目:asp.Net 来源:互联网
导读:我有控制器PlayerController和里面的动作:视图,信息,列表. 所以在网址“/ Player / View”上我得到默认布局的结果. 我希望在请求“/外部/视图”时获得具有不同布局的结果. 我怎样才能实现这一目标? 虽然您可以按照另一个答案中的建议覆盖控制器的布局,但在
|
我有控制器PlayerController和里面的动作:视图,信息,列表.
我希望在请求“/外部/视图”时获得具有不同布局的结果. 我怎样才能实现这一目标? 解决方法虽然您可以按照另一个答案中的建议覆盖控制器的布局,但在我看来,这意味着控制器过于参与确定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 – web配置错误:无法识别的属性’xmlns:xdt’.请
- asp.net – 多久我应该打开/关闭我的Booksleeve连接?
- asp.net-mvc – EditorFor()和additionalViewData:如何在h
- asp.net – IIS 7.5中的URL重写会导致内部服务器错误
- asp.net-mvc – asp.net mvc单选按钮状态
- asp.net-mvc – 如何在ASP.NET MVC控制器中设置十进制分隔符
- asp.net-ajax – ASP.Net AJAX UpdatePanel无法触发Selecte
- asp.net-mvc – 一种在MVC环境中处理返回URL的智能方法
- ASP.NET 5中的子域路由
- asp.net – 找不到ID为“xxx”的UpdatePanel.如果它正在动态
推荐文章
站长推荐
- asp.net-mvc-3 – 如何指定默认LayoutPage在Razo
- asp.net – 无法加载类型’System.ServiceModel.
- asp.net-mvc – 在剃刀视图中启用和禁用文本框(A
- asp.net – 使用以前输入的值防止文本框自动填充
- asp.net – 当HTTPContext .Current为Nothing时如
- asp.net – 检测是否加载了HttpModule
- asp.net-mvc-3 – 使用redirectAction和prg模式在
- ASP.NET Web应用程序本地化的最佳实践
- 在MVC 5中上传图像时,asp.net-mvc – Request.Fi
- 实体框架 – 我们如何使用Breeze的本地时区生存
热点阅读
