在ASP.NET项目中使用Javascript访问自定义属性

时间:2013-12-19 21:42:29

标签: javascript asp.net

我正在开发一个项目,该项目具有从System.Web.UI.WebControls.CompositeControl派生的自定义HTMLEditor控件(名为MyHTMLEditor)。

在MyHTMLEditor控件中,聚合了一个源自AjaxControlToolkit.HTMLEditor.Editor控件的MyEditor控件实例。

以下是代码。

    public class MyHTMLEditor : CompositeControl
         {
               private MyEditor _myEditor = new MyEditor();

               public MyEditor EditorControl
                {
                      get { return this._myEditor; }

                }
         }


     public class MyEditor : Editor //AjaxControlToolkit.HTMLEditor.Editor control
         {

         }

这是我的Javascript函数,它访问属性EditorControl:

    var editorControl = document.getElementById('<%= rtxtFindings.ClientID %>'); 
    var editorPanel = editorControl.EditorControl; // Failing.. 

上面代码的第二行失败 - 它将editorControl.EditorControl显示为未定义。

由于我是Javascript的新手,我不太清楚背后的原因。

我的猜测是:由于所有控件都呈现为HTML控件,因此添加的自定义属性将被忽略或不被考虑。但是,如果这是真的,我想知道如果有人希望向控件添加自定义方法/属性,希望通过Javascript访问它们 - 这怎么可能?

感谢。

1 个答案:

答案 0 :(得分:0)

我自己找到了答案:)

包含自定义属性(见下文)就可以了。

var editorControl = document.getElementById('<%= rtxtFindings.EditorControl.ClientID %>');