【发布时间】:2020-08-11 13:45:18
【问题描述】:
家庭控制器
[HttpGet]
public ActionResult Login()
{
return View();
}
[HttpPost]
public ActionResult Login(Login l)
{
if (ModelState.IsValid)
{
if (l.CheckUser(l.UserName, l.Password))
{
return RedirectToAction("Home/Home");
}
else
{
Response.Write("Invalid User");
return View();
}
}
else
{
return View();
}
}
模型类(登录)
namespace sampleprojectone.Models
{
public class Login
{
[Required(ErrorMessage ="Username must not be empty")]
[Display(Name ="Username")]
public string Username { get; set; }
[Required(ErrorMessage = "Password must not be empty")]
[Display(Name = "Password")]
public string Password { get; set; }
public bool CheckUser(string username,string password)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Constr"].ToString());
con.Open();
SqlCommand cmd = new SqlCommand("proc_checklogin", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@username", username);
cmd.Parameters.AddWithValue("@password", password);
bool b = Convert.ToBoolean (cmd.ExecuteScalar());
return b;
}
}
}
错误
严重性代码描述项目文件行抑制状态 错误 CS1061“Login”不包含“CheckUser”的定义,并且找不到接受“Login”类型的第一个参数的可访问扩展方法“CheckUser”(您是否缺少 using 指令或程序集引用?) sampleprojectone G: \King\Projects\sampleprojectone\sampleprojectone\Controllers\HomeController.cs 35 活动
【问题讨论】:
-
我不确定,但我认为您还没有正确引用您的 Login 类可能是什么原因。尝试将登录函数命名为与登录类不同的名称...
public ActionResult Login()-->public ActionResult LoginAction()public ActionResult Login(Login l)--> public ActionResult LoginWithCreds('Login l') 再试一次。如果找不到你的 Login 模型,可能是你没有正确引用它 -
您是否可能有一个 Login 控制器,因此您需要在 Login 方法中完全限定 Login 对象? public ActionResult Login(sampleprojectone.Models.Login l)
标签: c# .net model-view-controller layout asp.net-mvc-5