• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#WinFormwebBrowser内嵌网页的按钮的OnClientClick事件的returnfalse在webBrowser中 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本示例主题基于如下情况:
网页有一按钮
<asp:Button ID="Button1" OnClientClick="return fnButton1();" runat="server" Text="Button" OnClick="Button1_Click" />
在正常情况下 下面的代码正常执行
<script language="javascript" type="text/javascript">
    function fnButton1()
    {
        if(confirm("是否继续执行?"))
        {
            return true;
        }
        else
        {
            return false;
        }           
    }
</script>
即confirm框 弹出后 根据用户的选择 可正常的继续执行或停止执行按钮的OnClick后台事件

但当该网页被WinForm通过webBrowser访问 并给该网页的Button1增加事件后
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    if (this.webBrowser1.Document.All["Button1"] != null)
        this.webBrowser1.Document.All["Button1"].DetachEventHandler("onclientclick", new EventHandler(Html_Button1_Click));
}
void Html_Button1_Click(object sender, EventArgs e)
{
    //...
}
上面的confirm的选择是与否 都会继续执行后台代码及WinForm中的代码

经过相关尝试 可变通的通过如下判断来确定是否执行后台代码及WinForm中的代码
网页中增加多一个javascript函数
<script language="javascript" type="text/javascript">
    var IsSubmit = false;
    function fnButton1()
    {
        if(confirm("是否继续?"))
        {
            IsSubmit = true;
        }
        else
        {
            IsSubmit = false;
        }       
        return IsSubmit;   
    }
   
    function fnButton1ForWebBrowser()
    {
        return IsSubmit;       
    }
</script>
WinForm中增加多一步的相关判断
void Html_Button1_Click(object sender, EventArgs e)
{
    object result = this.webBrowser1.Document.InvokeScript("fnButton1ForWebBrowser");
    if (result.ToString().ToLower() == "true")
    {
        MessageBox.Show("执行");
        //...
    }
    else
    {
        MessageBox.Show("不执行");  
        //...        
    }
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap