我得到以下InvalidOperationException异常:MVC2:不能将字符串转换为ExtensionDataObject(不知道我想)
The parameter conversion from type 'System.String' to type 'System.Runtime.Serialization.ExtensionDataObject' failed because no type converter can convert between these types.
在我的ASP.Net MVC2页面上张贴的动作,但我真的不知道它指的是什么。我使用的数据注释验证:
public class FamilyPersonMetadata
{
[Required(ErrorMessage = "Name Required")]
public String Name;
[Required(ErrorMessage = "Date of Birth required")]
[DateTime(ErrorMessage = "Invalid Date")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d")]
public DateTime DateOfBirth;
}
[MetadataType(typeof(FamilyPersonMetadata))]
public partial class FamilyPerson
{
}
而从用的ViewPage的FamilyPerson亚型我的观点inhertis。我只是使用与FamilyPerson相匹配的名称创建控件,然后提交表单,但由于某种原因,我的ModelState无效,上述错误显然是原因。对于错误的性质我很困惑。类似的代码适用于其他视图和操作。
有人能指点我的事情的方向看,可能会导致这种情况吗?
如果您注释掉MetadataType属性,会发生什么情况?一切正常吗?尝试并消除此问题中的某些变量将会有所帮助。 – Eilon 2010-01-09 21:07:54