我想允許輸入字段的多種輸入格式。在我的情況下,它是一個經度字段。在數據庫中,我將它設置爲十進制(18,10)。它期望得到一個逗號分隔值,例如16,2345678但Google地圖或某些用戶正在使用點16.2345678 我不想返回一個錯誤,但只是很高興,並將其轉換爲預期的數據庫格式。asp.net mvc:允許輸入字段的多種輸入格式
我試圖做到這一點在我的元數據驗證類(使用實體框架)
public partial class Job
/*[Bind(Exclude = "ID")]*/
public class JobMetaData
{
public object Longitude
{
get { return this.Longitude; }
set { this.Longitude = value; /* Seems that this point isnt reached*/ }
}
,但不幸的是二傳手不叫和ViewState.isValid返回根本就是假的。
[HttpPost]
public ActionResult Edit(Job model)
{
// parse the long-lat if needed here??
try
{
if (!ModelState.IsValid)
{
我應該在哪裏嘗試解析值以允許兩個值(逗號分隔和點分隔)轉換它們並使其安全。
我對另一個字段有同樣的問題:我希望用戶輸入4或4€,以防止刪除€-sign並將其保存爲數字。
感謝您的幫助。
您搞定;設置;看起來像遞歸到我 – Omu 2011-02-25 20:03:12
似乎。但我很確定。它是一個部分類,在這個部分類的「其他部分」中,還有一個帶有get/set(EntityFramework類)的屬性Longitude。看來這個get/set並沒有被實際調用,所以我不能做任何預處理。 – LukeSolar 2011-02-27 19:06:44