请教MVC验证问题
以下为model中定义的类
public class Album
{
public virtual int AlbumId { get; set; }
public virtual int GenreId { get; set; }
public virtual int ArtistId { get; set; }
public virtual string Title { get; set; }
public virtual decimal Price { get; set; }
public virtual string AlbumArtUrl { get; set; }
public virtual Genre Genre { get; set; }
public virtual Artist Artist { get; set; }
}
public class Artist
{
public virtual int ArtistId { get; set; }
public virtual string Name { get; set; }
}
public class Genre
{
public virtual int GenreId { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual List<Album> Albums { get; set; }
}
属性都没有加 [require]之类的验证,为什么提交的时候会对属性进行服务端验证呢(客户端的验证去掉了),刚开始学mvc,请指教,谢谢啦!!!
------解决方案--------------------不用EditorFor,因为它会得到model.Price的类型,
你可以用Html.TextBox()
------解决方案--------------------亲 我来告诉你把,对于mvc中model验证,值类型要特别注意,字符串不用管,比如int datetime类型你必须有初始值的,你说的价格price 因为你不填写,后台取值就是空,无法转换,自然也就不能通过,当然着一系列操作是mvc自己做的,与你加不加验证标签[require]都无关系
------解决方案--------------------public actionresult create()
{
return view(new 一个);
}
[httppost]
public actionresult create(object model)
{
}
好像这样也可以,使用Html.HiddenFor(model=>model.Price);