访问嵌套字段的DevExpress JavaScript对象

时间:2017-01-04 12:47:10

标签: devexpress devexpress-mvc

当我使用自己的自定义FormBuilder类为嵌套字段呈现DevExpress MVC控件时,我使用了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中访问这些对象 - 是否有某种转义序列将整个短语视为单个变量名称?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

DevExpress实际上使用ModelName.FieldName形式的变量名创建JavaScript对象。

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

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