Вам необходимо опубликовать свое значение в методе действия на контроллере, окружить поле формой
@using (Html.BeginForm("Controller", "Action", FormMethod.Post))
{
}
Затем измените ваше поле на отображаемое на стороне сервера (чтобы связыватель модели мог захватить новое значение)
@Html.TextBoxFor(m => m.MyDate)
Метод действия должен принимать модель в качестве аргумента и иметь свойство DateTime с именем MyDate
редактирование:
Если вы будете отправлять значения с сервера, вы должны быть уверены, что клиентский указатель даты и сервер используют один и тот же формат даты. Это немного сложно, но я сделал это с помощью плагина globalize jquery, вам нужно выбрать, хотите ли вы жестко закодировать культуру пользовательского интерфейса или сервер будет использовать клиентскую культуру. Это делается в web.config
HARDCODED
<globalization culture="se-SE" uiCulture="se-SE" enableClientBasedCulture="false" />
Клиент выбирает
<globalization enableClientBasedCulture="true" />
edit2
Извините за все мои правки: D
Хороший способ отправки настроек сервера, таких как datetime и т. Д., Состоит в том, чтобы создать представление бритвы настроек и изменить его тип mime на javascript, а также обязательно иметь кэширование, иначе клиент будет загружать его каждый раз
@{
Layout = null;
Response.Expires = 120;
Response.CacheControl = "public";
Response.ContentType = "text/javascript";
}
MyAppName = {};
MyAppName.settings = {
culture: "@Thread.CurrentThread.CurrentCulture.Name",
timeFormat: "@Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortTimePattern.ToLower()",
dateFormat: "@Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern.ToLower().Replace("yyyy", "yy")",
}