我的这些问题是基于Asp.Net MVC2.0遇到的问题,至于1.0与3.0,暂时没有测试过
http://msdn.microsoft.com/zh-cn/downloads/ff393634
看了这篇文章特别好,验证模式更新表单的内容,先验证成功了再提交给服务器,再进行服务器验证,这样安全性高很多,程序灵活性很好,方便二次开发,只要把模型中的验证规则改下,整个站点的验证规则都出来了
假设这个Person的验证模式对于与数据库中这样的表
create table
CREATE TABLE [dbo].[T_Person](
[UserID] [int] NOT NULL identity(1000,1),
[FirstName] [nvarchar](50) NULL,
[LastName] [nvarchar](50) NULL,
[Age] [int] NULL,
[Email] [nvarchar](50) NULL
CONSTRAINT [PK_T_Person] PRIMARY KEY CLUSTERED
(
[UserID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
[UserID] [int] NOT NULL identity(1000,1),
[FirstName] [nvarchar](50) NULL,
[LastName] [nvarchar](50) NULL,
[Age] [int] NULL,
[Email] [nvarchar](50) NULL
CONSTRAINT [PK_T_Person] PRIMARY KEY CLUSTERED
(
[UserID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
如果用模型Person的数据去更新T_Person表的时候会出错,更新不了
原因是:你最好把Person从新设计,把UserID也添加进去,然后利用Person与T_Person根据主键进行关联,再进行更新操作
注意第二点:
如果你的T_Person表只有六个字段,而你在Person中多设置了几个字段,然后把需要的值插入到T_person表中,这样更新的时候也会报错
解决的方法,勤快点,重新再创建一个Model,添加适合于需要的Table中尽量可能一样多的字段