2016-12-29 3 views
1

Я делаю операции CRUD в MVC. Я также использую Entity Framework. Я показываю пользователю только 12 значений таблицы (также есть значение currenttime (createDateTime), которое пользователь не видит до создания). Когда я нажимаю кнопку «Создать». Он должен сохранить все значения, которые я написал в полях редактора, а также сохранить текущее время в базе данных.Как сохранить текущее время в моей базе данных при нажатии кнопки «Создать»?

Создать Посмотреть

<div class="form-group"> 
    @Html.LabelFor(model => model.languageID, htmlAttributes: new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
    @Html.EditorFor(model => model.languageID, new { htmlAttributes = new { @class = "form-control" } }) 
    @Html.ValidationMessageFor(model => model.languageID, "", new { @class = "text-danger" }) 
    </div> 
</div> 

Контроллер

[HttpPost][ValidateAntiForgeryToken] 
public ActionResult Create([Bind(Include = "pkID,projectID,languageID,projectCompany,projectTitle,projectLink,projectText,projectImageURL,isPassive,createDateTime,createUsername,updateDateTime,updateUsername")] cusContentProjects cusContentProjects) 
{ 
    if (ModelState.IsValid) 
    { 
     db.cusContentProjects.Add(cusContentProjects); 
     db.SaveChanges(); 
     return RedirectToAction("Index"); 
    } 

    return View(cusContentProjects); 
} 

ответ

0

Вы можете сделать это следующим образом:

cusContentProjects.createDateTime = DateTime.Now; //Server current datetime 
    db.cusContentProjects.Add(cusContentProjects); 
    db.SaveChanges(); 
    return RedirectToAction("Index"); 
+0

Шоул удаляет значение? [Bind (Include = "pkID, projectID, languageID, projectCompany, projectTitle, proje ctLink, projectText, p rojectImageURL, isPas sive, updat eDateTime, updateUser name")] cusContentProjects cusContentProjects) –

+0

@MertKaya не является неотъемлемой. –

0

вы можете использовать DateTime.Now для получения текущей даты

0

Вы должны получить DateTime от сервер, потому что получение его с ПК пользователя может оказаться неправильной.

Вы можете сделать это следующим образом:

using System; //lib that allow you to use DateTime 
... 

[HttpPost][ValidateAntiForgeryToken] 
public ActionResult Create([Bind(Include = "pkID,projectID,languageID,projectCompany,projectTitle,projectLink,projectText,projectImageURL,isPassive,createDateTime,createUsername,updateDateTime,updateUsername")] cusContentProjects cusContentProjects) 
{ 
    if (ModelState.IsValid) 
    { 
     db.cusContentProjects.Add(cusContentProjects); 
     var date = DateTime.now; //save it wherever you need 
     db.SaveChanges(); 
     return RedirectToAction("Index"); 
    } 

    return View(cusContentProjects); 
} 

Помните, что переменная, которую вы спасаете DateTime должны быть типа DateTime тоже.

Надеюсь, это поможет. Удачи!

+0

Спасибо, брат :) получил его –

1

использование UTC значения для даты, затем проанализируйте локально на основе требований пользовательского интерфейса. Хранение даты Время в Формат UTC в db всегда дает вам преимущество избежать ошибки вычисления даты и времени во время дневных световых дней.

DateTime.UtcNow

+0

Его лучше использовать с UTCNow. Спасибо. –

Смежные вопросы