【问题标题】:Access DevExpress JavaScript objects for nested fields访问嵌套字段的 DevExpress JavaScript 对象
【发布时间】:2017-01-04 12:47:09
【问题描述】:

当我使用我自己的自定义 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 中访问这些对象 - 是否有某种转义序列可以将整个短语视为单个变量名?

【问题讨论】:

    标签: devexpress devexpress-mvc


    【解决方案1】:

    据我了解,动态访问控件的“DevExpress”方式是使用控件集合函数

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-08-13
        • 2018-07-14
        • 2023-04-01
        • 2012-11-25
        • 1970-01-01
        • 1970-01-01
        • 2021-05-27
        相关资源
        最近更新 更多