1

У меня есть проект Asp.net MVC 3 с использованием Telerik MVC и JqueryMobile. Чтобы включить функционирование Глобализации для таких элементов, как MVC Grid, включите функцию глобализации, используя следующую страницу на главной странице макета:JQuery Mobile/Telerik Ошибка глобализации

@ (Html.Telerik(). ScriptRegistrar(). Глобализация (true) .DefaultGroup (group = > group.Combined (true) .Compress (true)))

Это работает отлично, если я вызываю свою страницу с помощью MVC Grid, например, mycontroller/GridPage, но если бы я тогда попытаться вызвать такое же действие через диалог JqueryMobile я получаю следующее сообщение:

0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'load'

Ссылку я использую для звонков через JqueryMobile является:

@Html.ActionLink("My Grid", "GridPage ", "mycontroller", new { data_rel = "dialog", data_theme = "b", data_transition = "flip" }) 

Удаление глобализации атрибут останавливает ошибку, но также останавливает глобализацию

Может ли кто-нибудь сообщить, как я могу пройти мимо этой ошибки?

Благодаря

Марк

ответ

0

Хорошо, я понял, работу вокруг, хотя я не очень нравится. Я думаю, когда мы динамически добавляем HTML в DOM, как это, он уничтожает объект jQuery.telerik, оставляя только CultureInfo. Чтобы обойти это, вам нужно «зарегистрировать» все элементы управления telerik в динамическом HTML с/при исходной странице, которая была загружена.

Например, если у вас есть всплывающее окно с 2 текстовыми полями с именем txtPrice и txtQuantity, то на любой странице, которая может отображать это всплывающее окно, вам необходимо объявить 2 элемента управления telerik с именем txtPrice и txtQuantity. После объявления вы можете удалить их из DOM. Когда всплывающее окно добавится в DOM, он увидит, что элементы управления с этим именем уже определены, и все будет работать как обычно. Это действительно странная ошибка, чтобы понять, что все работает нормально, когда Глобализация отключена.

Смежные вопросы