【发布时间】:2016-02-03 11:54:17
【问题描述】:
我是 MVC 新手,正在处理登录页面验证,但在控制器中遇到问题,无法通过带有 .edmx 文件的存储过程获取登录用户数据。
PROC_LogIn_Info 是存储过程的名称。
我收到一个错误:
无法将方法组“ToList”转换为非委托类型“System.Collections.Generic.List”。您是否打算调用该方法?
代码:
[HttpPost]
public ActionResult Login(tblUserMaintenance user)
{
if (ModelState.IsValid)
{
using (dbPA_MVCEntities objCon = new dbPA_MVCEntities())
{
List<Login> LoginUser = objCon.PROC_LogIn_Info("jhony", "a").ToList();
// showing Error here
}
}
else
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return RedirectToAction("LoginIndex", "Login");
}
我的模特是Login:
public class Login
{
[Required]
[DisplayName("User ID")]
public string vUserID { get; set; }
[DisplayName("User Name")]
public string vUserName { get; set; }
[DisplayName("User Email Id")]
public string vUserEmail { get; set; }
[DisplayName("Phone Number")]
public string vPhoneNumber { get; set; }
public string vRoleId { get; set; }
public string IsActive { get; set; }
public string chUserType { get; set; }
[Required]
[DisplayName("Password")]
public string vPassword { get; set; }
public List<Login> LoginUsersData { get; set; }
}
【问题讨论】:
-
什么是
PROC_LogIn_Info?是你的 StoredProcedure 来获取数据吗? -
PROC_LogIn_Info 是存储过程的名称。
-
所以您在 EDMX 文件中添加了 SP,您是否为它创建了任何复杂类型以与 SP 连接。为了检查,首先将数据收集到一些
var并检查它返回的内容。 -
不是任何复杂类型,我只有我的登录模型
-
那行不通,你必须创建一个复杂的类,然后将你的 SP 连接到那个复杂的类。它会返回那种类型的对象。
标签: c# asp.net-mvc model-view-controller