写自己的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]
你这应该是属于用户验证登录问题,你可以简单参考这个参考示例: