访问嵌套字段的 DevExpress JavaScript 个对象

Access DevExpress JavaScript objects for nested fields

当我为嵌套字段呈现 DevExpress MVC 控件时,使用我自己的自定义 FormBuilder class,我使用的是 ModelName.FieldName 的命名约定。这修复了我遇到的绑定问题,但我现在需要客户端访问为控件创建的 JavaScript 对象。

过去,我会找到一个名为FieldName的对象。对于嵌套字段,JavaScript 对象名称的命名模式是什么(因为 ModelName.FieldName 不是合适的 JavaScript 对象名称),是否有另一种访问对象的方法通过将完整的字段名称作为参数传递给某些 JavaScript 方法(类似于 AllControls.GetControl('ModelName.FieldName'))?

这是我的代码示例:

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

更新: DevExpress 似乎确实渲染了名称为 ModelName.FieldName 的对象。我不确定如何访问 JavaScript 中的那些对象 - 是否有某种转义序列将整个短语视为单个变量名称?

DevExpress 实际上创建了 JavaScript 对象,其变量名称的形式为 ModelName.FieldName.

要访问 JavaScript 中的对象,您可以使用以下格式:

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

根据我的理解 'DevExpress' 动态访问控件的方法是使用控件集合函数

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