2017-08-17 69 views
0

我無法使用引導日期選擇器綁定我的模型的屬性。我收到以下錯誤:引導日期選擇器。無法綁定:該值無效

enter image description here

起息日是無效的DateField

這是屬性是如何在我的模型中定義:

[DataType(DataType.Date)] 
    [DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)] 
    public DateTime FechaDesignado { get; set; } 

這是如何構建視圖:

<div class="form-group"> 
    <div> 
     <input type="datetime" class="datepicker form-control" asp-for="@item.FechaDesignado"/> 
     <span asp-validation-for="@item.FechaDesignado" class="text-danger"></span> 
    </div> 
</div> 

翻譯爲:

<div class="form-group" form="form1"> 
    <div> 
     <input type="datetime" class="datepicker form-control" data-val="true" data-val-required="The FechaDesignado field is required." name="item.FechaDesignado" value="09/01/1901" /> 
     <span class="text-danger field-validation-valid" data-valmsg-for="item.FechaDesignado" data-valmsg-replace="true"></span> 
    </div> 
</div> 

這是怎麼看我的DB。

enter image description here

這是日期選擇器代碼:

<script type="text/javascript"> 
    $(function() { 
     $('.datepicker').datepicker({ 
      "autoclose": true 
     }); 
    }); 

</script> 

POST操作的控制器內:

[HttpPost, ActionName("Management")] 
    //[ValidateAntiForgeryToken] 
    public async Task<IActionResult> Management(int? id) 
    { 
     var storetoupdate = _context.Stores.SingleOrDefault(m => m.StoreID == id.Value); 
     if (await TryUpdateModelAsync(
      storetoupdate, "item", 
      s => s.StoreName, s => s.IncomePeriodicity, s=>s.Usuario, s => s.FechaDesignado)) 
     { 
      await _context.SaveChangesAsync(); 
      return RedirectToAction("Management"); 
     } 
     return RedirectToAction("Management"); 
    } 

問:好像我必須轉換日期輸入字段使用DateTime.ParseExact的日期時間對象,但我不知道如何編輯控制器的t他的。對不起,但我正在學習這一切。

謝謝。

+0

理想情況下,你不需要手動綁定日期值到視圖模型。發佈日期值是否未正確綁定到Store View模型的FechaDesignado屬性? – Win

+0

@Win yeap,商店模型的財產FechaDesignado不綁定到模型,說價值發送它是無效的 –

回答

1

您可以使用DateTime.ParseExactdate格式轉換爲datetime。請參閱this瞭解更多信息。

編輯

您可以使用data-format屬性像這樣的職位正確的格式日期:

<input data-format="0:MM/dd/yyyy" type="datetime" class="datepicker form-control" asp-for="@item.FechaDesignado"/> 
+0

謝謝,我正在調查這一點,但我不知道如何將它引入我的後發表動作:( –

+0

@LuisAlbertoDelgadodelaFlo我編輯了我的答案,請再看一遍,我希望這可以解決您的問題 –

+0

非常感謝!! :) –