我正在使用mvc应用程序。我想为我的mvc应用程序添加登录页面。我为登录表单创建了一个login.cshtml文件(包含用户名和密码)。当我运行项目时,请参阅项目从主页开始。我想从登录页面开始。我怎样才能实现它?
答案 0 :(得分:5)
转到解决方案中的App_Start
文件夹并打开RouteConfig.cs
并将此方法替换为您的代码:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional }
);
}
希望对你有所帮助!
答案 1 :(得分:1)
执行以下操作:
答案 2 :(得分:1)
正在回答,因为我有同样的问题。我的代码在startup.cs中看起来像这样
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
我将控制器的名称和索引更改为我希望它调用的控制器和索引。
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Login}/{action=Register}/{id?}");
});
答案 3 :(得分:0)
编辑:
我刚看到这是针对MVC3的。也许它可以帮助别人。
原件:
在global.asax文件中,RegisterRoutes函数中指定了一个默认路由:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Site", action = "Index", id = UrlParameter.Optional }
);
只需更改参数即可。
为了防止人们在未登录的情况下进入网站,您必须跟踪用户的登录状态,例如:在用户会话中,并在每次调用操作时检查它。
答案 4 :(得分:-1)
转到HomeController.cs
,然后替换
public ActionResult Index()
{
return View();
}
与
public ActionResult Index()
{
return View("Login");
}
为此,您的login.cshtml
应位于Views/Home
文件夹中。
如果它在另一个文件夹中,请尝试:
public ActionResult Index()
{
return View("~/Views/YourFolderName/Login.cshtml");
}