首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

求大神帮忙onclientclick调onclick有关问题

2013-02-15 
求大神帮忙onclientclick调onclick问题在网页前台有两个按钮,在其中一个按钮的onclientclick中通过documen

求大神帮忙onclientclick调onclick问题
在网页前台有两个按钮,在其中一个按钮的onclientclick中通过document调用另一个按钮的click事件,与直接点击另一个按钮效果不一样呢。
菜鸟一枚,求高手指点!!!

新建一个Web窗体
前台代码如下


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"
    ViewStateMode="Disabled" %>

<!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></title>
    <script type="text/javascript" language="javascript">
        function window.onload() {
            // alert('111');
            alert(document.getElementById("lbl_red").innerText);
        }
        function RedColor() {
            window.document.getElementById("Button1").click();
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="btn_change" runat="server" Text="变色" OnClientClick="RedColor();" />
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
    </div>
    <div>
        <asp:Label ID="lbl_red" runat="server" Width="100px" ViewStateMode="Disabled"></asp:Label>
        <br />
        <asp:Label ID="lbl_green" runat="server" Text="Green" Width="100px"></asp:Label>
        <br />
        <asp:Label ID="lbl_blue" runat="server" Text="Blue" Width="100px"></asp:Label>
    </div>
    </form>
</body>
</html>

后台代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void RedColor(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        this.lbl_red.Text = "***";   
      //  ClientScript.RegisterStartupScript(this.GetType(), "", "<script type='text/javascript'>alert('123');alert(document.getElementById('lbl_red').innerText);</script>");


    } 
    protected void Button4_Click(object sender, EventArgs e)
    {       
        this.lbl_red.Text = "Red";
        this.lbl_green.Text = "Green";
        this.lbl_blue.Text = "Blue";
    }
    protected void btn_change_Click(object sender, EventArgs e)
    {

    }
}


button js,click
[解决办法]
加上红色部分试试

OnClientClick="RedColor();return false;"
[解决办法]
在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页. 
 Return False 就相当于终止符,Return True 就相当于执行符。 

在js中return false的作用一般是用来取消默认动作的。比如你单击一个链接除了触发你的 
onclick时间(如果你指定的话)以外还要触发一个默认事件就是执行页面的跳转。所以如果 
你想取消对象的默认动作就可以return false。

热点排行