Ниже приведен шаблон EditorTemplate, в котором используется помощник datetimepicker Bootstrap с помощниками EditorFor
, проблема, которую я вижу, связана с секцией сценария. Он работает нормально для одного DateTimePicker
для каждого представления, но поскольку я использую селектор классов, всякий раз, когда я использую 2 или более DateTimePicker
s за просмотр, он создает дубликаты <script>
разделов, путающих DOM, на которых TextBox
для вызова календаря. Что мне здесь не хватает?Редактор шаблона DatePicker
@model DateTime?
<div class='input-group date datePicker'>
<span class="input-group-sm">
@Html.TextBox("", Model.HasValue ? Model.Value.ToString("d") : String.Empty)
</span>
</div>
<script type="text/javascript">
$(function() {
$('.datePicker').datetimepicker({
pickTime: false
});
});
</script>
Это работает! - Спасибо много. Теперь, есть способ сделать этот сценарий один раз? –
@kermit_xc скрипт будет отображаться столько раз, сколько будет вызываться шаблон редактора. Существует пакет nuget - https://www.nuget.org/packages/Forloop.HtmlHelpers/, который будет отображать сценарий только один раз, если он находится в отдельном файле сценария. –
+1 для сценария ForLoop ScriptContext. Я расширил его, чтобы сделать то же самое с .css, StyleContext - очень полезно для шаблонов отображения и редактора. Они даже не должны быть в отдельном файле, используя метод AddScriptBlock. – RIanGillis