我有這樣的模式: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