首页 > 解决方案 > 如何在 .Net Core MVC 中发布

问题描述

我有一个带有用户名和密码输入的登录页面,还有一个提交按钮。我想在我的控制器中调用一个方法来检查数据是否匹配并显示结果。我如何调用该方法?我尝试了以下方法,但没有成功,它将这些作为参数传递

        @using (Html.BeginForm("Logmein", "LoginController", FormMethod.Post))
    {
        <form method="post">
            <div class="input-group mt-3">
                <div class="input-group-prepend">
                </div>
                <input type="text" class="form-control" placeholder="Username" asp-for="Userusername">
            </div>

            <div id="login_usernametxt" class="input-group mt-2">

                <input id="login_passwordtxt" type="password" class="form-control" placeholder="Password" asp-for="Userpassword">
            </div>

            <button id="login_signinbtn" class="mt-3 btn bg-warning text-light" style="float: right;" formmethod="post">Sign in</button>

        </form>
    }

这是我的控制器。

    public class LoginController : Controller
{
    public LoginInfo Logininformation { get; set; }

    
    public IActionResult Userlogin()
    {
        return View();
    }

    [HttpPost]
    public IActionResult Logmein()
    {
        //checks if the data matches.... 
        return RedirectToPage("/Home/Index");
    }
}

标签: asp.netasp.net-mvcasp.net-coremodel-view-controllerrazor-pages

解决方案


Tyr 在 Logmein() 方法中包含具有以下属性的模型 Userusername,Userpassword

您也可以删除 html 辅助方法(@using (Html.BeginForm("Logmein", "LoginController", FormMethod.Post))) 例如:

<form method = "post" asp-controller = "Login" asp-action = "Logmein" >
            <div class="input-group mt-3">
                <div class="input-group-prepend">
                </div>
                <input type="text" class="form-control" placeholder="Username" asp-for="Userusername">
            </div>

            <div id="login_usernametxt" class="input-group mt-2">

                <input id="login_passwordtxt" type="password" class="form-control" placeholder="Password" asp-for="Userpassword">
            </div>

          
        <input type = "submit" value = "Login" /> 

        </form>
        

模型类

public class Login
{
   
    public string Userusername { get; set;  }
     public string Userpassword  { get; set;  }
}

控制器方法:

[HttpPost]
    public IActionResult Logmein(LoginModel login)
    {
        //checks if the data matches.... 
        return RedirectToPage("/Home/Index");
    }

推荐阅读