我有这样的模式:DataFormatString:现场必须是数字
[DisplayFormat(DataFormatString = "{0:c}", ApplyFormatInEditMode = true)]
public decimal SpotPrice { get; set; }
在我的个人资料查看显示的价格为“25,00”。当我尝试编辑价格时,该字段预先填入数据库条目“25,00”。当我击立即保存我得到这个错误:"The field SpotPrice must be a number."
有了这个question给我已将我的全球文化web.config中的建议:
<system.web>
<globalization culture="nl-NL"/>
</system.web>
我也尝试过许多不同DataFormatStrings,但没有他们允许我摆脱那个错误信息。
我使用SQL Server来存储价格。
编辑:更新了问题: 我能做些什么来使这个价格字段正确验证?
编辑:这是我的编辑方法,我用它来保存新价格:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "CampingSpotId,SpotName,FieldName,Surface,Wifi,Water,Sewer,Reserved,Booked,SpotPrice,Type")] CampingSpot campingSpot)
{
if (ModelState.IsValid)
{
_campingspotrepository.SetModified(campingSpot);
return RedirectToAction("Index");
}
return View(campingSpot);
}
SetModified之方法做到这一点:
public void SetModified(CampingSpot campingSpot)
{
db.Entry(campingSpot).State = EntityState.Modified;
db.SaveChanges();
}
当你点击保存时会发生什么? – DavidG
我得到这个错误''字段价格必须是一个数字'''http://piclair.com/data/2c6in.jpg – Forza
换句话说,它根本不会保存 – Forza