【问题标题】:How to call a JavaScript method for a particular button event using C#如何使用 C# 为特定按钮事件调用 JavaScript 方法
【发布时间】:2012-07-30 17:25:05
【问题描述】:

我的任务是自动验证网页中的内容,该网页具有“从机场”和“到机场”文本字段以及 SearchFlights 按钮。点击SearchFlights按钮后,我得到了搜索结果,我需要将这些结果与我的预期值进行比较。

我正在使用 C# 和 HTML DOM 编程来设置文本字段中的文本,还可以单击 SearchFlights 按钮。

现在,我如何捕获事件(例如 documentcompleted)并保存这些结果,以便我可以将它们与预期记录进行比较?我在该网络应用程序中的按钮如下所示:

<a tabIndex="5" class="searchRht" id="searchBtn" onclick="sF();SearchFlights();return false;" href="" />

单击按钮后,页面会刷新,并出现一条消息,显示“正在加载航班时刻表”,然后显示结果。看起来onclick 方法有两个函数调用:sF()SearchFlights()

我不确定如何捕获该网页返回的事件和信息。

以下是用于点击按钮的代码

doc = webBrowser1.Document;
btnElem = doc.GetElementById(streleid);
if (btnElem != null)
{
    btnElem.RaiseEvent("onclick");//click on serach button
    btnElem.RaiseEvent("sF()"); //error comes here
    Application.DoEvents();  // this will load the browser document again
}

【问题讨论】:

    标签: javascript html c#-4.0


    【解决方案1】:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="MultipleFunction.aspx.cs" Inherits="MultiCust_MultipleFunction" %>
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Execute Multiple function with a Button</title>
    </head>
    
    
    <script language="javascript" type="text/javascript">
    function ShowMessage()
    {
        alert("Hi");
    }
    
    
    </script>
    
    
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
        </form>
    </body>
    </html>
    

    下面是实现您所寻找的代码。

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    
    public partial class MultiCust_MultipleFunction : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            this.Button1.Attributes.Add("onClick", "ShowMessage()");
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Write("Zaq");
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2012-05-15
      • 2013-01-21
      • 2010-09-21
      • 2015-04-27
      • 2013-04-12
      • 2012-08-17
      • 1970-01-01
      • 2017-12-28
      • 2019-05-29
      相关资源
      最近更新 更多