Asp.net mvc 如何在ASP.NET MVC中创建自己的登录应用程序
我随后使用ASP.NET MVC创建了一个示例登录应用程序 我已经创建了数据库,并将其添加到了教程中提到的服务器资源管理器中。我还修改了AccountController.cs文件,并添加了以下代码,而不是默认的登录方法Asp.net mvc 如何在ASP.NET MVC中创建自己的登录应用程序,asp.net-mvc,visual-studio-2008,Asp.net Mvc,Visual Studio 2008,我随后使用ASP.NET MVC创建了一个示例登录应用程序 我已经创建了数据库,并将其添加到了教程中提到的服务器资源管理器中。我还修改了AccountController.cs文件,并添加了以下代码,而不是默认的登录方法 public ActionResult Login(string username, string password, bool? rememberMe) { ViewData["Title"] = "Login"; if (Reques
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();
}
public ActionResult登录(字符串用户名、字符串密码、bool?rememberMe)
{
ViewData[“标题”]=“登录”;
if(Request.HttpMethod!=“POST”)
{
返回视图();
}
//基本参数验证
列表错误=新列表();
if(String.IsNullOrEmpty(用户名))
{
添加(“您必须指定用户名”);
}
如果(errors.Count==0)
{
LinkMVC.Models.LinkManagerDataContext lm=新的LinkMVC.Models.LinkManagerDataContext();
可为null的userid=null;
lm.fm_AuthenticateUser(用户名、密码、参考用户ID);
如果(用户ID>0)
{
FormsAuth.SetAuthCookie(用户名,rememberMe??false);
返回重定向到操作(“索引”、“主页”);
}
其他的
{
错误。添加(“提供的用户名或密码不正确”);
}
}
//如果我们走到这一步,有些东西失败了,重新显示形式
ViewData[“错误”]=错误;
ViewData[“用户名”]=用户名;
返回视图();
}
我无法解决两个错误:
LinkMVC.Models.LinkManagerDataContext lm=新的LinkMVC.Models.LinkManagerDataContext()
它说名称空间“模型”的类型在名称空间LinkMVC中不存在
FormsAuth.SetAuthCookie(用户名,rememberMe??false)
这里它表示setAuthCookie没有扩展方法
有人能告诉我我错过了什么吗
谢谢我认为这门课应该是为了认证而不是为了考试
该示例来自2008年,正在使用ASP.NET MVC preview 4,因此可能类名已更改。您的类的名称空间是什么?是LinkMVC.Models吗?FormsAuth的定义在哪里?我认为应该是FormsAuthentication。@Dallas:名称空间是LinkMVC.Models,我还没有定义FormsAuthanywhere@Dallas:是的,这是形式验证..所以第二个错误解决了..是的,对!!请参阅我的项目名称为LinkMVC..,命名空间为LinkMVC.Controllers,请参阅我在AccountController.cs文件中看到的内容,请参阅@samich的注释:-dbml文件是否位于LinkMVC项目的models文件夹中?展开LinkManager.dbml并打开名为LinkManager.cs的文件以查看命名空间。是的,也删除了该错误,名称空间是LinkMVC.Scripts.Models..但是什么是“fm_AuthenticateUser”?我还没有创建任何类似的方法?我必须在哪里创建它以及如何创建它?我认为它是一个存储过程。数据库是在作者的linq to sql主题中创建的