namespace MvcLogin.Models
{
public class User
{
public string UserName
{
get; set;
}
public string Password
{
get;set;
}
}
}
using Microsoft.AspNetCore.Mvc;
using MvcLogin.Controllers;
namespace MvcLogin.Controllers
{
public class LoginController : Controller
{
//GET:Login
public ActionResult Index()
{
return View();
}
/*MVC将自动查找与视图名称相同的.cshtml文件*/
public IActionResult Success()
{
return View();
}
[HttpPost]
public ActionResult Login(Models.User user)
{
if(user.UserName == "admin" && user.Password == "admin")
{
return RedirectToAction("Success", "Login");
//RedirectToAction 方法是用于将请求重定向到指定的控制器和动作方法的 URL,而不是直接指向到视图文件的路径。
}
else
{
ModelState.AddModelError("", "用户名或密码错误!");
return View("Index");
}
}
}
}
public IActionResult Success()
{
return View();
}
Views/Login/Success.cshtml
视图文件。如果需要返回其他的视图文件,可以通过传入文件名或文件路径的方式进行指定。如下所示:// 返回名称为 "Hello" 的视图文件
return View("Hello");
// 返回路径为 "Views/Home/MyView.cshtml" 的视图文件
return View("~/Views/Home/MyView.cshtml");
public IActionResult Index()
{
return Redirect("https://www.example.com");
}
public IActionResult Index()
{
return Redirect(Url.Action("About", "Home"));
}
@model MvcLogin.Models.User
<form asp-action="Login" method="post">
<div asp-validation-summary="ModelOnly" class="text-danger">div>
<div class="form-group">
<label asp-for="UserName" class="control-label">label>
<input asp-for="UserName" class="form-control" />
<span asp-validation-for="UserName" class="text-danger">span>
div>
<div class="form-group">
<label asp-for="Password" class="control-label">label>
<input asp-for="Password" class="form-control" />
<span asp-validation-for="Password" class="text-danger">span>
div>
<div class="form-group">
<input type="submit" value="登录" class="btn btn-primary" />
div>
form>
<h2>Loginh2>
<p>登录成功!p>