Ваш вопрос не очень ясен относительно того, что вы хотите сделать, но из того, что я понял, я предполагаю, что вы хотите отобразить дату и изменить только время. В этом случае это можно сделать так:
В вашей модели:
public class FooModel
{
public string Date { get; set; }
public string Time { get; set; }
}
В вашем контроллере:
public class FooController
{
[HttpGet]
public ActionResult Foo()
{
var dateTime = DateTime.Now();
var model = new Foo
{
Date = dateTime.ToShortDateString(),
Time = dateTime.ToShortTimeString()
};
return View(model);
}
[HttpPost]
public ActionResult Foo(FooModel model)
{
DateTime updatedDateTime;
var dateTime = string.Format("{0} {1}", model.Date, model.Time);
var isValid = DateTime.TryParse(dateTime, out updatedDateTime);
if (!isValid)
{
ModelState.AddModelError("Time", "Please enter a valid Time.");
return View(model);
}
// process updates
return View("Success");
}
}
На ваш взгляд:
@model FooModel
@using (Html.BeginForm()) {
@Html.ValidationMessage("Time")
Date: @Html.DisplayFor(m => m.Date) <br />
Time: @Html.EditorFor(m => m.Time)
<p>
<input type="submit" value="Save" />
</p>
}