Я писал, чтобы увидеть значение 19.01.2011 12:00:00, которое является значением ViewBag.BeginDate
Этого нельзя ожидать, передав Begin
в качестве первого параметра помощнику Html.Editor
. Второй параметр не делает то, что вы думаете, что он делает. Он просто отправляет некоторые дополнительные данные представления в шаблон редактора, но исходное значение, к которому вы привязываете, называется Begin
, поэтому вам следует присвоить значение. Как это:
public ActionResult Index()
{
ViewBag.Begin = DateTime.Now;
return View();
}
и затем:
@Html.Editor("Begin")
Очевидно, что каждый раз, когда я вижу кого-то, использующего ViewBag / ViewData и не сильно типизированных помощников, я чувствую себя обязанным рекомендовать модели просмотра и строго типизированные помощники. Пример:
Модель:
public class MyViewModel
{
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime Date { get; set; }
}
Контроллер:
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new MyViewModel
{
Date = DateTime.Now
});
}
}
и соответствующий строго типизированный вид:
@model AppName.Models.MyViewModel
@Html.EditorFor(x => x.Date)