gpt4 book ai didi

asp.net-mvc-3 - 根据 url 更改 Controller 中的布局

转载 作者:行者123 更新时间:2023-12-04 13:08:45 24 4
gpt4 key购买 nike

我有 Controller PlayerController和里面的 Action :View , Info , List .
所以在网址“/Player/View”上,我得到了默认布局的结果。

我想根据请求“/External/View”获得不同布局的结果。

我怎样才能做到这一点?

最佳答案

尽管您可以按照另一个答案中的建议覆盖 Controller 的布局,但在我看来,这意味着 Controller 在确定 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 的 View 将使用这个新布局,否则将使用“正常”布局。

另一种方法是使用路由表添加一个路由值,这里可以使用它来进行布局决策;但我已经采用这种方法来保持简单。

关于asp.net-mvc-3 - 根据 url 更改 Controller 中的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9800500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com