0

我试图通过单击 c# web 浏览器控件中的按钮来提交表单。

[表格代码]

<form action="sendmessage.aspx" method="post" name="sendmessage">

[C#代码]

private void Form1_Load(object sender, EventArgs e)
{
    HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
    HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");

    IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
    element.text = "function submitForm() 
    { 
        document.getElementsByName('sendmessage')[0].value.submit(); 
    }";

    head.AppendChild(scriptEl);
}

private void button2_Click(object sender, EventArgs e)
{
    webBrowser1.Document.InvokeScript("submitForm");
}

任何帮助,将不胜感激 。谢谢

4

1 回答 1

0

如果您的按钮中的代码没有被点击,您需要将处理程序绑定到它。您可以在标记、负载或属性窗口中执行此操作。最简单的方法是在属性窗口中。选择按钮,点击属性选项卡中的小闪电,找到点击事件。选择您的 button2_Click 方法并将其绑定到您的按钮。然后应该命中该代码。

只是一个建议:不要以这种方式注入 JavaScript,而是在客户端上声明脚本并添加到元素中的 onclick(丑陋)或添加事件侦听器(更好)。如果您的按钮只会触发客户端功能,则您根本不需要在服务器上处理它。

于 2013-05-19T02:49:39.003 回答