【发布时间】:2013-05-09 09:18:27
【问题描述】:
我正在使用 C# 和 SQL Server 2005 开发一个 ASP.Net MVC 3 应用程序。我正在使用具有代码优先方法的实体框架。
我有一个 LOG ON(连接)接口,但它与我的基地无关,我有一个 USER 表(包含登录名 + 密码)。
我正在尝试像这样更改AccountController 中的登录功能:
private GammeContext db = new GammeContext();
[AcceptVerbs(HttpVerbs.Post)]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1054:UriParametersShouldNotBeStrings",
Justification = "Needs to take same parameter type as Controller.Redirect()")]
public ActionResult LogOn(string Matricule, string passWord, bool rememberMe, string returnUrl)
{
if (!ValidateLogOn(Matricule, passWord))
{
//return View();
Connection(Matricule, passWord);
}
FormsAuth.SignIn(Matricule, rememberMe);
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
public int Connection(string Matricule, string passWord)
{
users = db.Users.ToList();
foreach (User u in users)
{
if ((u.Matricule == Matricule) && (u.passWord == passWord))
{
return View();
}
else
{
return Redirect(returnUrl);
}
}
}
这段代码有问题吗?
有一个我无法修复的错误
当前上下文中不存在名称“用户”
【问题讨论】:
-
您缺少用户的私有字段或局部变量
-
更改用户 = db.Users.ToList(); to var users = db.Users.ToList();
-
谢谢你们!错误现在消失了,但是函数的返回有问题。事实上,如您所见,该函数必须返回一个 int 。但是,我返回一个视图。我不知道如何解决,因为如果登录成功,我想返回页面视图
标签: c# sql-server asp.net-mvc-3 sql-server-2005