我正在开发一个项目,该项目具有从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访问它们 - 这怎么可能?
感谢。
答案 0 :(得分:0)
我自己找到了答案:)
包含自定义属性(见下文)就可以了。
var editorControl = document.getElementById('<%= rtxtFindings.EditorControl.ClientID %>');