首先我想说,我对 MVC 模式非常陌生,如果我问了一个愚蠢的问题,我很抱歉。
我的问题: 我在为我的用户建立个人资料页面时遇到了麻烦。如果用户访问该页面,它将列出有关他们的信息,例如电子邮件地址、电话号码、全名等。
注意: 我正在使用带有 SimpleMemberShipProvider 处理用户操作的“基本”项目模板。
问题来自数据库查询,以获取有关用户的必要数据。
这是我的 UserProfile 表数据:
CREATE TABLE [dbo].[UserProfile] (
[UserId] INT IDENTITY (1, 1) NOT NULL,
[UserName] NVARCHAR (MAX) NULL,
[FirstName] NVARCHAR (MAX) NULL,
[LastName] NVARCHAR (MAX) NULL,
[Age] INT NULL,
[Sex] NVARCHAR (MAX) NULL,
[SecretQuestion] NVARCHAR (MAX) NULL,
[SecretQuestionAnswer] NVARCHAR (MAX) NULL,
[MoneyIn] INT NULL,
[MoneyOut] INT NULL,
[TimesWon] INT NULL,
[Email] NVARCHAR (MAX) DEFAULT ('') NOT NULL,
[PhoneNumber] NVARCHAR (MAX) NULL,
[Address] NVARCHAR (MAX) NULL,
CONSTRAINT [PK_dbo.UserProfile] PRIMARY KEY CLUSTERED ([UserId] ASC)
);
我的“用户”模型:
[Table("UserProfile")]
public class User
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
[Column("UserName")]
public string UserName { get; set; }
[Column("Email")]
[Required]
public string Email { get; set; }
[Column("FirstName")]
public string FirstName { get; set; }
[Column("LastName")]
public string LastName { get; set; }
[Column("PhoneNumber")]
public string PhoneNumber { get; set; }
[Column("Address")]
public string Address { get; set; }
[Column("Age")]
[Required]
public int Age { get; set; }
[Column("Sex")]
public string Sex { get; set; }
[Column("SecretQuestion")]
[Required]
public string SecretQuestion { get; set; }
[Column("SecretQuestionAnswer")]
[Required]
public string SecretQuestionAnswer { get; set; }
[Column("MoneyIn")]
public int MoneyIn { get; set; }
[Column("MoneyOut")]
public int MoneyOut { get; set; }
[Column("TimesWon")]
public int TimesWon { get; set; }
}
这是我的 DbContext 类:
public DbSet<User> Users { get; set; }
我的控制器具有“配置文件”操作:
[Authorize]
public ActionResult Profil()
{
var model = db.Users.ToList();
return View(model);
}
最后是我视图的一些相关部分来显示数据:
@model IEnumerable<OneMillion.Models.User>
@foreach (var item in Model)
{
@item.FirstName
}
尝试以登录用户身份访问页面时出现的错误:
Server Error in '/' Application.
The 'MoneyIn' property on 'User' could not be set to a 'null' value. You must set this property to a non-null value of type 'Int32'.
谢谢!