我正在开发一个 Winforms .NET 4.0 项目,使用 WebControl 作为 WYSIWYG 编辑器 - 使用Matt Groves 开发的YARTE 编辑器。
我正在尝试添加一个锚标记并将 href 属性设置为以下路径:
var path = http://someurl.aspx?param1="val1"¶m2="val2"¶m3="youGetTheIdea"
我尝试了几种方法;当我尝试将 url 写入文档时,我总是得到 HTML 转义的 & 符号:
http://someurl.aspx?param1="this"&param2="doesnt"&param3="work"
我尝试过的方法不成功:
创建链接
webBrowser.ExecCommand("CreateLink", false, path)
创建 HTML 并将其粘贴到:
var htmlDocument2 = args.Document.DomDocument as IHTMLDocument2; if (htmlDocument2 == null) return; var range = htmlDocument2.selection.createRange() as IHTMLTxtRange; if (range == null) return; range.pasteHTML(string.Format(path, range.text));
创建一个文件并将 webBrowser 定向到它:
// assume the links are already inserted, but aren't right. var textWithBadLinks = webBrowser.DocumentText; var betterText = UseRegexToReplaceBadLinkText(textWithBadLinks); using (StreamWriter outfile =new StreamWriter(@"c:\test.html")) { outfile.Write(betterText); } webBrowser.Url= new Uri(@"c:\test.html");
创建一个流并将 webBrowser 定向到它:
// same as above, but instead of the URL, use the DocumentStream: webBrowser.DocumentStream = new StreamWriter(@c:\test.html);
导航到文件:
webBrowser.Navigate(new Uri(@"c:\test.html"))
无论我选择哪种方法,& 符号都会被转义,链接不起作用。
提前感谢您的任何帮助。