将所有视图重定向到一个视图/从一个视图重定向的最佳方法(例如 UnderConstructionView)

发布于 2025-01-02 23:05:31 字数 183 浏览 2 评论 0原文

是否有可能以某种方式将所有视图路由到一个特定视图?我想要一个“正在建设视图”,它始终是默认视图,直到我“翻转开关”而无需构建。在此之前,所有其他控制器操作都会路由到此视图。

我很想知道我是否可以在 web.config 中执行此操作,或者是否必须在 Global.asax 的 RegisterRoutes 中添加一些 if/else。

Is it possible to somehow route all views to one particular view? I would like to have an "Under Construction view" that is always the default view until i "flip a switch" without having to build. Until then all other controller action routes to this view.

I would love to know if i can do it in web.config or if i have to have some if/else in RegisterRoutes in Global.asax.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓝眸 2025-01-09 23:05:31

您可以编写一个自定义过滤器属性,该属性从 web.config 读取标志并将请求重定向到正在构建的页面。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Configuration;

namespace MyApp
{
    public class UnderConstAttribute : ActionFilterAttribute
    {
        private readonly static AppSettingsReader _reader;
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
              _reader = new AppSettingsReader();
              if(_reader.GetValue("UnderConst", typeof(bool)))
                 filterContext.HttpContext.Response.Redirect("/Underconst.html");
        }
    }
}

并且您必须将密钥添加到 web.config 文件

<appSettings><add key="UnderConst" value="false"/></appSettings>

,并且必须将此过滤器添加到 global.asax 文件中的全局操作过滤器集合中

you can write a custom filter attribute that reads a flag from web.config and redirect requests to under construction page.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Configuration;

namespace MyApp
{
    public class UnderConstAttribute : ActionFilterAttribute
    {
        private readonly static AppSettingsReader _reader;
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
              _reader = new AppSettingsReader();
              if(_reader.GetValue("UnderConst", typeof(bool)))
                 filterContext.HttpContext.Response.Redirect("/Underconst.html");
        }
    }
}

and you have to add key to web.config file

<appSettings><add key="UnderConst" value="false"/></appSettings>

and you have to add this filter to global action filter collection in global.asax file

妄断弥空 2025-01-09 23:05:31

将名为 app_offline.htm 的文件放入目录的根目录中,所有请求都会显示该文件。

一旦您删除(或重命名)此文件,您的网络请求将再次照常处理。

Place a file called app_offline.htm into the root of your directory and this will be displayed for all requests.

Once you remove (or rename) this file your web requests will be processed as usual again.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文