2011-06-03 66 views
0

我特林更新记录,并要排除从更新一列,我有这个字段被填充了GETDATE()在SQL中是默认值,所以当更新发生我想离开这个领域,因为它是MVC2 - 排除日期和时间列从更新方法

[ScaffoldColumn(false)] 

    [Column] public DateTime RegisteredDate { get; set; } 
同时使用来自dataannotaions ScaffoldColumnFalse和HiddenInput(DisplayValue = FALSE),但是当我尝试保存更改时引发的错误

我用尽

sqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM. 

据我了解,这是由于抛出一个空v ALUE被传递到RegisterdDate场,

伊夫使用绑定在ActionResult的存根排除无济于事

public ActionResult Edit([Bind(Exclude = "RegisteredDate")] Customer customer) 

任何关于我错了这里,其中的任何想法也试过吗?

亲切的问候

利亚姆

回答

0

看一看史蒂夫Sandersons博客,Partial Validation in ASP.NET MVC 2。他的方法是只验证来自视图的传入值。这可能适用于你的情况。

+0

调试时,我可以看到,customersTable.Context.SubmitChanges运行时被传递从客户对象的所有字段的空值,所以我想这或许可以解释为什么错误是发生试过这无济于事,这是通过对日期字段{01/01/0001 00:00:00 – liam 2011-06-03 15:21:31

+0

固定我的升级方法,但是这个错误还是存在的,我已经使用史蒂夫sandersons ValidateOnlyIncomingAttributes但是这个值{01/01/0001 00:00:00}仍在传递给注册日期? – liam 2011-06-03 15:37:05

+0

你可以发布一个控制器动作的例子(编辑你的文章)吗? – gnome 2011-06-03 17:23:42