我试过这个:
string newScript = textBox1.Text;
HtmlElement head = browserCtrl.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = browserCtrl.Document.CreateElement("script");
lblStatus.Text = scriptEl.GetType().ToString();
scriptEl.SetAttribute("type", "text/javascript");
head.AppendChild(scriptEl);
scriptEl.InnerHtml = "function sayHello() { alert('hello') }";
Run Code Online (Sandbox Code Playgroud)
scriptEl.InnerHtml和scriptEl.InnerText都给出了错误:
System.NotSupportedException: Property is not supported on this type of HtmlElement.
at System.Windows.Forms.HtmlElement.set_InnerHtml(String value)
at SForceApp.Form1.button1_Click(Object sender, EventArgs e) in d:\jsight\installs\SForceApp\SForceApp\Form1.cs:line 31
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at …Run Code Online (Sandbox Code Playgroud) 我正在使用HttpListener来允许用户在用户定义的端口上设置代理.当我启动HttpListener时,如果应用程序未在Vista中以管理员权限运行,则会出现异常.
根据我的阅读,这是预期的行为 - 开始侦听端口需要管理员权限.但是我确信有很多方法可以解决这个问题,因为我运行了大量的程序(如Skype),这些程序可以监听端口而无需升级到管理员.
有没有办法用HttpListener做到这一点?如果没有,我可以在.NET代码中进行其他API调用来设置端口吗?
我正在使用Winforms Web浏览器控件在Windows Forms应用程序中显示一些内容。我正在使用DocumentText属性编写生成的HTML。这部分工作异常出色。现在,我想在标记中使用一些图像。(不过,我也更喜欢使用链接的CSS和JavaScript,只需嵌入即可解决该问题。)
我已经搜寻了几天,似乎找不到标题问题的答案。
我尝试使用相对引用:应用exe位于bin \ debug中。这些图像位于项目根目录的“ Images”目录中。我将图像设置为在编译时复制到输出目录,因此它们最终位于bin \ debug \ Images *中。因此,我然后使用诸如“ Images ...”之类的引用,认为它将相对于exe。但是,当我在嵌入式浏览器窗口中查看图像属性时,我看到图像URL为“ about:blankImages / *”。将HTML写入控件时,所有内容似乎都与“ about:blank”有关。缺少位置上下文,我无法弄清楚要用于相对文件资源引用的内容。
我四处查看控件的属性,以查看是否有一种方法可以解决此问题。我创建了一个空白的html页面,并使用“ Navigate()”方法将浏览器指向该页面,并使用文件的完整本地路径。这在浏览器报告空白页面的本地“ file:/// ...”路径时效果很好。然后,我再次使用Document.Write()写入浏览器。再次,浏览器现在报告“ about:blank”作为URL。
除了将动态HTML结果写入真实文件之外,没有其他方法可以引用文件资源吗?
我将尝试最后一件事:构建图像的绝对文件路径并将其写入HTML。我的HTML是使用序列化对象的XML的XSL转换生成的,所以我需要使用一些XSL参数,这会花费一些额外的时间,因为我不太熟悉它们。