asp.net mvc问题

写自己的asp.net mvc应用时出现了一点问题:
现在有一个登录视图,用户从此视图输入用户名和密码。对应的控制器接收视图的用户名、密码,将它与数据库的内容进行比较(即登录验证),验证通过后进行登录后页面,反之回到原页面。
这里是视图的代码:

@*设置页面标题图片*@ @using (Html.BeginForm("UserPage", "UsersController", FormMethod.Post)) { ViewData["Title"] = "用户接口(UserPage)"; @*登录页面*@

用户名:

@Html.TextBox("username")

密码:

@Html.Password("password")
@*按钮设置*@
}

这里是控制器的关于此部分的代码:

        [HttpPost]
        public IActionResult UserPage()
        {
            //登录进行数据库验证
            string uname = Request.Form["username"];
            string passwd = Request.Form["password"];
            string LoginConnection = "......(数据库连接字符串)";
            SqlConnection conn = new SqlConnection(LoginConnection);
            conn.Open();
            string sql = "select * from 表名 where 用户名='" + uname + "' and 密码='" + passwd + "'";
            SqlCommand cmd = new SqlCommand(sql, conn);
            SqlDataReader sqldr = cmd.ExecuteReader();

            //只有用户名和密码都输入正确后,才能确认进入登录状态
            if (sqldr.HasRows)
            {
                return View("登录后页面");
            }
            else
            { 
                return View();
            }
            conn.Close();
        }

编译没有错误但是运行错误是405,改了半天要么还是405,要么出其他错误。咳咳啾啾!

[HttpPost]
你要注意这个只能post,不能网页跳转过去
你 return View(); 这个显然不行,可以 return RedirectToView(某个支持get的视图)
或者去掉 [HttpPost]

你这应该是属于用户验证登录问题,你可以简单参考这个参考示例:


如果仍然有问题的话,建议分享更多相关细节,比如配置信息或者代码。