У меня есть планировщик кендо, определенный в частичном представлении. Этот частичный вид отображается на вкладке мобильного кендо.
Проблема в том, что планировщик как бы отображается за каким-то пустым контейнером. Поскольку я вижу только небольшую часть заголовка планировщика, когда пробую его на мобильном телефоне (iPhone 5).
Когда я перехватываю событие Databound в javascript и устанавливаю точку останова «отладчик», я вижу, что визуализируется «мобильная» версия (я использовал инструменты разработчика Google Chrome для имитации отображения на мобильном телефоне), но сразу после выполнение события, какой-то div или другой контейнер частично перекрывает мой планировщик.
Если я не укажу атрибут ".Mobile()" в определении планировщика, он будет соответствующим образом отображаться на моем телефоне. Но визуализируется не мобильная версия, и я хочу, чтобы это была мобильная версия.
Я попытался отобразить пустой планировщик, и он тоже не работает.
Любые идеи о том, что я делаю неправильно?
Если есть недостающая информация, чтобы помочь вам, не стесняйтесь спрашивать об этом.
Спасибо.
Частичное представление:
@model List<ISchedulerEvent>
@using System.Web.UI.WebControls
@using System.Linq;
@using Kendo.Mvc.UI
<section>
<br class="clear"/>
@(Html.Kendo().Scheduler<ISchedulerEvent>()
.Name("scheduler")
.WorkDayStart(8,0,0)
.WorkDayEnd(18,0,0)
.AllDaySlot(false)
.ShowWorkHours(true)
.Editable(false)
.Mobile()
.Views(v =>
{
v.DayView();
v.WeekView();
v.MonthView(monthView => monthView.Selected(true));
v.AgendaView();
})
.DataSource(source => source
.Read("GetEntries", "Calendar")))
</section>
Определение полосы вкладок:
@using Kendo.Mvc.UI
@using T3.Web.Application.Infrastructure.Helpers
<style>
.km-entry:after,
.km-entry:before
{
content: "\e08d";
}
.km-summary:after,
.km-summary:before
{
content: "\e04b";
}
.km-calendar:after,
.km-calendar:before
{
content: "\e089";
}
</style>
<div data-role="view" id="entry" data-title="Entrée de temps" data-layout="mobile-tabstrip"></div>
<div data-role="view" id="calendar" data-title="Calendrier" data-layout="mobile-tabstrip">@Html.Action("Index", "Calendar")</div>
<div data-role="view" id="summary" data-title="Sommaire" data-layout="mobile-tabstrip"></div>
<div data-role="view" id="profile" data-title="Profil utilisateur" data-layout="mobile-tabstrip" ></div>
<div id="maintabstrip" data-role="layout" data-id="mobile-tabstrip">
<p>TabStrip</p>
<div data-role="footer">
<div id="tabstrip" data-role="tabstrip">
<a href="#entry" data-icon="entry">Entrée de temps</a>
<a href="#calendar" data-icon="calendar">Calendrier</a>
<a href="#summary" data-icon="summary">Sommaire</a>
<a href="#profile" data-icon="contacts">Utilisateur</a>
</div>
</div>
</div>
<script>
var app = new kendo.mobile.Application($(document.body), { skin: "flat", useNativeScrolling: true });
</script>
Контроллер для частичного просмотра
[HttpGet]
public ActionResult Index()
{
return this.PartialView("_Calendar");
}
Контроллер, возвращающий данные для планировщика
public ActionResult GetEntries([DataSourceRequest]DataSourceRequest request)
{
var entries = _presenter.GetEntries(base.GetUserAccount().Id);
return Json(entries.ToDataSourceResult(request));
}