为什么单击按钮提交表单会让这项​​工作失败?

时间:2013-05-19 02:25:49

标签: c# webforms

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

[表格代码]

<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");
}

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

1 个答案:

答案 0 :(得分:0)

如果未按下按钮中的代码,则需要将处理程序绑定到该按钮。您可以在标记,加载或属性窗口中执行此操作。最简单的方法是在属性窗口中。选择按钮,单击属性选项卡中的小闪电并找到单击事件。选择你的button2_Click方法,它会将它绑定到你的按钮。那个代码应该被击中。

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