хорошо, это старый вопрос, но у меня была пара проблем с датчиком, и я потратил около 3 часов на исследование, пока не нашел ответ ... это только для людей, подобных я, кто в конечном итоге на этом, чтобы выкопать ответы ... *
Пользовательский интерфейс Jquery уже включен в .net mvc4, как и DatePicker, в комплекте. вам просто нужно позвонить, добавив это в свой макет (в разделе head)
@Scripts.Render("~/bundles/jqueryui")
@Styles.Render("~/Content/themes/base/css", "~/Content/css")
Кроме того, убедитесь, что у вас нет другого скрипта, отображаемого внизу вашего тела, так как по умолчанию, где установлен пакет jquery (по крайней мере, это было для меня в проекте по умолчанию), и это вызывает ошибку с datepicker, когда Я использовал это.
<input id="mydate" name="mydate" class="datepicker" type="text" value="@Model.mydate.Value.ToString("dddd, dd MMMM yyyy")" />
где mydate - это имя параметра, который вы задали в вашей viewModel, указанный параметр - это объект DateTime (или DateTimeOffSet) (.Value имеет значение только в том случае, если вы устанавливаете дату как обнуляемую, в противном случае ее не нужно)
После того, как в нижней части вашего представления, создайте раздел jquery:
@section scripts{
<script>
$(".datepicker").datepicker({ dateFormat: "DD, d MM yy", altFormat: "yy-mm-dd" });
</script>
}
(dateformat и altformat не обязательны, присвойте им желаемое значение или не используйте их вообще)
что касается массива даты ... я бы использовал модель представления, которая содержала бы ваш массив в качестве параметра, и передавал эту модель представления между вашим представлением и вашим контроллером. после этого определите шаблон редактора, и его будет довольно просто построить таблицу с датами оттуда.