Telerik MVC расширения даты не помещает дату в текстовое поле - PullRequest
1 голос
/ 21 января 2012

Я использую ASP.NET MVC 3 с razor и последнюю версию элементов управления Telerik MVC extensions.

У меня есть средство выбора даты:

<td><label>From:</label></td>
<td>
     @(Html.Telerik()
          .DatePickerFor(x => x.HospitalisedStartDate)
          .Name("HospitalisedStartDate")
     )
</td>

Это свойствов моей модели представления:

public DateTime? HospitalisedStartDate { get; set; }

Когда представление загружается, я нажимаю на значок календаря.Календарь всплывает, я бы выбрал дату, а затем ничего не происходит.Календарь пропадает, но дата не устанавливается в текстовом поле.С чего бы это?Если бы я вписал слово «сегодня» в текстовое поле, он вставил бы сегодняшнюю дату, например «2012/01/21».Что мне здесь не хватает, что мешает его работе?

Разметка выглядит так для таблиц стилей и JavaScript:

<link type="text/css" href="/Content/2011.3.1115/telerik.common.min.css" rel="stylesheet"/>
<link type="text/css" href="/Content/2011.3.1115/telerik.webblue.min.css" rel="stylesheet"/>
<link type="text/css" href="/Content/Stylesheets/mystylesheet.css" rel="stylesheet"/>

<script src="/Scripts/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="/Scripts/2011.3.1115/telerik.common.min.js"></script>
<script type="text/javascript" src="/Scripts/2011.3.1115/telerik.tabstrip.min.js"></script>
<script type="text/javascript" src="/Scripts/2011.3.1115/telerik.calendar.min.js"></script>
<script type="text/javascript" src="/Scripts/2011.3.1115/telerik.datepicker.min.js"></script>
<script type="text/javascript" src="/Scripts/2011.3.1115/telerik.treeview.min.js"></script>

Ответы [ 4 ]

2 голосов
/ 07 февраля 2012

Кажется, есть проблема со сборщиком даты при использовании jQuery 1.7 и выше. Я изменил его на jQuery 1.6.4, и теперь он работает. Кто-нибудь знает, почему это так?

Это сейчас на мой взгляд:

<script src="/Scripts/jquery-1.6.4.min.js"></script>
1 голос
/ 02 марта 2012

jQuery 1.6.4 прекрасно работает для меня. Однако я попробовал jquery-1.5.1.min.js, а также 1.7.1. и это не сработало. Значок не показывался.

1 голос
/ 01 февраля 2012

Вы обновили jQuery?

Тщательно подумав о том, что я мог изменить, я вспомнил, что мне нужно протестировать более новую версию jQuery.Я заменил файл jquery-1.6.4.min.js на jquery-1.7.1.js около недели назад.Восстановление версии 1.6.4 решило мою проблему.Моя страница работала точно так, как она была разработана.

0 голосов
/ 01 февраля 2012

У меня такая же проблема.Я использую MVC3 (не Razor), Telerik MVC Controls и jQuery.Я только недавно начал видеть эту проблему.К сожалению, я не могу выделить то, что я мог изменить, чтобы вызвать такое поведение.Недавно мне пришлось добавить диспетчер сценариев ASP.NET для импорта ресурсов сценариев из сторонней сборки, а также некоторый пользовательский код для создания избыточной разметки.

В ответ на вопрос Ника, Telerikэлементы управления автоматически вставляют строку

<%: Html.Telerik().ScriptRegistrar() ... %>

в разметку, но это происходит с начала моего проекта - когда DatePicker работал как положено.

Я вижу такое поведение в обоих Firefoxи IE.В полном отчаянии я разобрал свой файл точно так:

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<!DOCTYPE html>
<html>
  <head runat="server">
    <title>Test</title>
    <%: Html.Telerik().StyleSheetRegistrar().DefaultGroup(group => group.Add("telerik.common.css").Add("telerik.webblue.css").Combined(true).Compress(true)) %>
  </head>
  <body>
    <form id="frmMain" method="post" runat="server">
      <% Html.Telerik( ).DatePicker( )
            .Name( "dtTest" )
            .HtmlAttributes( new { id = "dtTest_wrapper" } )
            .Min( DateTime.Today.Subtract( new TimeSpan( 3835, 0, 0, 0, 0 ) ) )
            .Max( DateTime.Today.Add( new TimeSpan( 24, 0, 0 ) ) )
            .ShowButton( true )
            .OpenOnFocus( true )
            .Render( ); %>
    </form>
    <%: Html.Telerik().ScriptRegistrar().DefaultGroup(group => group.Combined(false).Compress(false)) %>
  </body>
</html>

Это все еще не работает так, как должно.Это главная страница (всегда была), но ни на одной из дочерних страниц ничего не определено, но никогда не было.

...