【发布时间】:2016-05-02 09:34:40
【问题描述】:
如果我有一个默认为 false 但稍后更改的全局变量,是否可以使用此变量自动重定向?这基本上就是我想要的:
@if (!boolean)
{
<meta http-equiv='refresh' value='0; redirect_to_this_url'>
}
我已经尝试过了,但它不起作用(控制器加载 forst 并基于此布尔值引发大量错误)请帮助。
【问题讨论】:
-
不清楚。如果您想检查一个状态以保持在当前页面或将其重定向到另一个页面,您可以使用很多方法,例如,您可以使用 cookie 和 JS 来做到这一点。
-
我不想使用 cookie 存储,这只是在会话缓存中。但是当有人访问我的网站时,如果
boolean为假,我希望他们被重定向到某个页面。我需要这样做无论他们尝试打开哪个页面 -
布尔值写入哪里?如果它是服务器端的,那么最好在控制器而不是视图中执行此操作
-
@Stewart_R 这是服务器端,我知道它应该在控制器中,而且效果很好。但我想在这里尊重 DRY,并且只在我的代码中使用它一次。是否有一种所有请求都经过的“全局控制器”?是否可以使用这个重定向到不同的控制器?
-
您有几个选择。首先,我应该说控制器只是类,因此您可以拥有一个实现全局重定向功能的基本控制器,然后您的所有其他控制器都可以从它继承。不过,您最好调查一下过滤器:asp.net/mvc/overview/older-versions-1/controllers-and-routing/… 这两个选项都可以让您保持干燥
标签: c# html asp.net-mvc redirect