当我使用自己的自定义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中访问这些对象 - 是否有某种转义序列将整个短语视为单个变量名称?
答案 0 :(得分:1)
根据我的理解,' DevExpress'动态访问控件的方法是使用控件集合函数
var nameTextBox =
ASPxClientControl.GetControlCollection().GetByName('ModelName.FieldName')
答案 1 :(得分:0)
DevExpress实际上使用ModelName.FieldName
形式的变量名创建JavaScript对象。
要在JavaScript中访问该对象,您可以使用以下格式:
var myControl = window['ModelName.FieldName'];