2017-01-04 6 views
0

Когда я обрабатываю элементы управления DevExpress MVC для вложенных полей, используя собственный класс FormBuilder, я использую соглашение об именах ModelName.FieldName. Это исправляет проблемы связи, которые у меня возникли, но теперь мне нужен клиентский доступ к объектам JavaScript, созданным для элемента управления.Доступ к объектам JavaScript DevExpress для вложенных полей

В прошлом я бы нашел объект под названием FieldName. Для вложенных полей, каков шаблон именования для имени объекта JavaScript (поскольку ModelName.FieldName не будет подходящим именем JavaScript-объекта), и есть ли альтернативный способ доступа к объекту путем передачи имени полного поля в качестве параметра для некоторого Метод JavaScript (что-то вроде AllControls.GetControl('ModelName.FieldName'))?

Вот пример моего кода:

var textBoxSettings = new TextBoxSettings 
{ 
    Name = "ModelName.FieldName",  
}; 
writer.Write(devExpress.TextBox(textBoxSettings).GetHtml()); 

UPDATE: Оказывается, что DevExpress действительно делают объекты с именем ModelName.FieldName. Я не уверен, как обращаться к этим объектам в JavaScript - есть ли какая-то escape-последовательность для обработки всей фразы как единственного имени переменной?

ответ

0

DevExpress фактически создает объект JavaScript с именем переменной в форме ModelName.FieldName.

Чтобы получить доступ к этому объекту в JavaScript, вы можете использовать формат:

var myControl = window['ModelName.FieldName']; 
0

Из моего понимания «DevExpress» способ доступа управления динамически, чтобы использовать функции сбора управления

var nameTextBox = 
ASPxClientControl.GetControlCollection().GetByName('ModelName.FieldName')