我按照这个tutorial使用ASP.NET MVC
创建了一个示例登录应用程序我已经创建了数据库并将其添加到本教程中提到的服务器资源管理器中。我还修改了AccountController.cs文件并添加了以下代码而不是默认的Logon方法。
public ActionResult Login(string username, string password, bool? rememberMe)
{
ViewData["Title"] = "Login";
if (Request.HttpMethod != "POST")
{
return View();
}
// Basic parameter validation
List<string> errors = new List<string>();
if (String.IsNullOrEmpty(username))
{
errors.Add("You must specify a username.");
}
if (errors.Count == 0)
{
LinkMVC.Models.LinkManagerDataContext lm = new LinkMVC.Models.LinkManagerDataContext();
Nullable<int> userid = null;
lm.fm_AuthenticateUser(username, password, ref userid);
if (userid > 0)
{
FormsAuth.SetAuthCookie(username, rememberMe ?? false);
return RedirectToAction("Index", "Home");
}
else
{
errors.Add("The username or password provided is incorrect.");
}
}
// If we got this far, something failed, redisplay form
ViewData["errors"] = errors;
ViewData["username"] = username;
return View();
}
我无法解决两个错误:
LinkMVC.Models.LinkManagerDataContext lm = new LinkMVC.Models.LinkManagerDataContext();
它表示名称空间“模型”的类型在名称空间LinkMVC
中不存在FormsAuth.SetAuthCookie(用户名,rememberMe ?? false);
这里没有说明setAuthCookie的扩展方法
有人可以告诉我这里错过了什么吗?
谢谢
答案 0 :(得分:1)
我认为该类应该是FormsAuthentication而不是FormsAuth。
示例来自2008,并且正在使用ASP.NET MVC预览4,因此类名可能已更改。