В моей модели
[DataType(DataType.Date)]
public DateTime SaleDate { get; set; }
public virtual Customer Customers { get; set; }
в моем контроллере:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include="SaleID,shippingBillNo,CustomerID,PlantID,Quantity,SaleDate")] Sale sale)
{
if (ModelState.IsValid)
{
var strddlValue = Convert.ToInt32(Request.Form["CustomerID"]);
var saledate = Convert.ToDateTime(Request.Form["mySaleDate"]);
На мой взгляд
@using (Html.BeginForm(null, null, FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Sale</h4>
<hr />
@Html.ValidationSummary(true)
<div class="form-group">
@Html.LabelFor(model => model.CustomerID, "CustomerID", new {
@class = "control-label col-md-2" })
<div class="col-md-10">
@Html.Hidden("CustomerText")
@Html.DropDownList("CustomerID", String.Empty)
@Html.ValidationMessageFor(model => model.CustomerID)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.SaleDate, new { @class = "control-
label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.SaleDate, new { Name =
"mySaleDate"})
@Html.ValidationMessageFor(model => model.SaleDate)
</div>
</div>
и JavaScript для DateTimePicker:
<script type="text/javascript">
$(function () {
$('#SaleDate').datetimepicker({
format: "DD/MM/YYYY"
}).on('dp.change', function (e) {
$(this).data('DateTimePicker').hide();
});
});
Мне удалось передать CustomerID контроллеру. Нет проблем с этим. Вместо того, чтобы передавать дату, которую я выбираю в editofor с помощью помощника DataTimePicker, я получаю бессмысленное значение «01/01/0001». Что я делаю не так?