【问题标题】:Which view is opened first? ASP.NET MVC首先打开哪个视图? ASP.NET MVC
【发布时间】:2017-11-04 18:53:46
【问题描述】:

我想知道在哪里可以设置在我运行应用程序时首先打开哪些视图?例如,我有一个包含 Login.cshtml 视图的 Login 文件夹,我想在我的应用程序启动时显示该视图?

这是我的 RouteConfig(现在注册页面正在我的项目中打开,我无法在此处找到与注册文件相关的任何内容,所以这就是我感到困惑的原因,当我的 MVC 设置为打开注册视图时应用程序已运行)文件:

public class RouteConfig
{
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
}

如你所见,上面写着HomeController和动作方法Index,所以这里是Home控制器:

 [BaseAuthorize]
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
    }

再一次,这里没有与注册视图相关的内容.. :(

我该怎么做?如果我想设置应用程序运行时显示的页面/视图,在哪里查看?

可能这个逻辑是用BaseAuthorize写的,我很快就会弄清楚,但我想知道这样做的正确方法是什么? 多谢你们 干杯

【问题讨论】:

  • 检查路由配置 (RouteConfig.cs) 它有一个默认的控制器和操作集。您可以将其更改为登录操作方法
  • @Shyju 接下来让我感到困惑的是:当我开始我的项目时,打开的是注册页面而不是登录页面,我之前检查了 RouteConfig.cs,在那里我找不到与注册页面相关的任何内容,实际上 routeconfig.cs 看起来像这样(请检查以进行编辑)。
  • 这个 BaseAuthorize 是从哪里来的?

标签: asp.net asp.net-mvc asp.net-mvc-4 view controller


【解决方案1】:

您的默认路线,即。 e.根据您的路由配置,访问http://localhost 时将打开的页面是HomeController Index 视图。 现在,你的控制器被BaseAuthorize注解了,这意味着对Home/Index的访问需要认证。如果请求未通过身份验证,那么它将被重定向到另一个页面,这可能是您正在获取的页面。 有两种设置默认页面的方法:您可以更改路由配置以指向另一个控制器/操作,或者您可以将默认 url 更改为您想要的任何内容。您可以通过右键单击您的项目 > 属性 > Web > 项目 url 来设置您的项目 url。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    相关资源
    最近更新 更多