Выбор даты в mvc3 с бритвой - PullRequest
0 голосов
/ 03 апреля 2012

Я использую mvc3, и бритва - это мой механизм просмотра, как я могу выбрать палитру без использования скриптов в моем
вид.

Ответы [ 6 ]

7 голосов
/ 13 февраля 2013

Вы можете создать скрипт в директории скриптов вашего проекта.

Базовый пример:

$(document).ready(function () { $("#datepicker").datepicker({ });});

на ваш взгляд:

@model YourProjectName.Models.User

....

<div class="editor-field">
  @Html.TextBoxFor(model => model.Dateadd, new { @Value = DateTime.Now, id = "datepicker" })
  @Html.ValidationMessageFor(model => model.Dateadd)
</div>
4 голосов
/ 03 апреля 2012

Я думаю, вам придется использовать скрипт, посмотрите jqueryui datepicker . Это хорошая простая в использовании библиотека и поддерживает темы

3 голосов
/ 03 апреля 2012

Я ответил здесь, зацените: http://forums.asp.net/post/4647234.aspx

Обычно вы используете шаблон со скриптом в одном месте и вызываете его с помощью EditorFor.

1 голос
/ 25 марта 2014

Для советников здесь: плохая практика - использовать скрипты внутри частичных представлений (шаблонов).

В моем случае это не работает вообще.Потому что доступ к jquery происходит до того, как он включен в файл js.Кроме того, вы не можете предсказать, куда именно вы поместите этот элемент управления выбора даты.Кроме того, у вас будет этот «готовый» блок для каждого редактора на странице.

RenderSection наведет некоторый порядок на все это, но он не работает для частичных представлений и шаблонов.

Так что простопереместить код JavaScript из шаблона (частичное представление) в представление.

0 голосов
/ 20 августа 2013

Если вы используете шаблон редактора для типа DateTime, вы можете использовать средство выбора даты в HTML5 (например, <input type="date" />).По сути, вы помещаете представление с именем DateTime.cshtml в папку с именем Views / Shared / EditorTemplates, а затем можете редактировать стиль редактора так, как вам нравится.Один пример в ответе здесь .

0 голосов
/ 30 мая 2013
@model Nullable<System.DateTime>
@if ( Model.HasValue ) {
@Html.TextBox( "" , String.Format( "{0:yyyy-MM-dd HH:mm}" , Model.Value ) , new  { 
@class = "textbox" , @style = "width:400px;" } )
}
else {
@Html.TextBox( "" , String.Format( "{0:yyyy-MM-dd HH:mm}" , DateTime.Now ) , new {   
@class = "textbox" , @style = "width:400px;" } )
}

@{
string name = ViewData.TemplateInfo.HtmlFieldPrefix;
string id = name.Replace( ".", "_" );
}
<script type="text/javascript">
$(document).ready(function () {
$("#@id").datepicker
({
dateFormat: 'dd/mm/yy',
showStatus: true,
showWeeks: true,
highlightWeek: true,
numberOfMonths: 1,
showAnim: "scale",
showOptions: {
origin: ["top", "left"]
}
});
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...