none
C# 中使用webbrowser调用外部HTML编辑器。 RRS feed

  • 问题

  • 我在一个软件中看到,C#的winform程序可以调用外置的HTML编辑器。于是下载了一个fckeditor编辑器。

    按下面的方法来取值,但是取不到。求解。

    在Form_Load事件中加载:

                this.webBrowser1.Navigate(AppDomain.CurrentDomain.BaseDirectory + @"edit\index.html");

    然后在一个按钮中执行:

                if (this.webBrowser1.Document != null)
                {
                    this.webBrowser1.Document.InvokeScript("getData");//JS提交的。执行JS得到返回值
                    HtmlElementCollection elems = this.webBrowser1.Document.GetElementsByTagName("content2");
                    //取到Input框的内容
                    if (elems.Count > 0)
                    {
                        foreach (HtmlElement el in elems)
                        {
                            if (el.GetAttribute("name") == "content2")//取得编辑框的name
                                MessageBox.Show(el.GetAttribute("value"));//得到HTML编辑框的内容
                        }
                    }
                }

    求如何设置和得到Fckeditor中编辑框的值。

     

     

    2011年11月28日 8:49

答案

  • Hi 小五kyle,

    GetElementsByTagName中的Tag Name不是指html控件的name属性值, 比如<input type="text" name="content2" value="temp value" />, tag name是inut而非content2.
    如果你要通过代码查找的是input field的话就应该写:
    HtmlElementCollection elems = this.webBrowser1.Document.GetElementsByTagName("input");
    

    祝你快乐每一天,

    Leo Liu [MSFT]
    MSDN Community Support | Feedback to us
    2011年11月29日 8:48
    版主