小弟初学。关于如何在aspx页面中调用服务器空间的javascript函数的事情。如下:
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="alertwin()" />
小弟写了个javascript函数
        function alertwin()
        {
            alert("Hello from client");
        }小弟想知道,该怎么调用那个js方法呢。我在上面写的那个是不行的。
请各位大侠教教
小弟用的是vs.net 2005

解决方案 »

  1.   

    可以在后台的page_load里面写
    button.attributes.add("onclick","你的函数");
      

  2.   

    写在后台的方法我知道。可现在我的确需要在前台直接调用。比如说当你搞ajax时,你能把js代码在后写入么
    我想那样也许可以,但也太麻烦了吧
    所以我现在想知道如何用js控制asp.net的服务器控件
      

  3.   

    啥吗!
    让你在后台页面注册button1的脚本事件,
    不是让你把js写在后台.Button1.Attributes.Add("OnClick","alertwin();");
      

  4.   

    <asp:Button ID="Button2" runat="server" Text="Button"  OnClientClick="alertwin();" />
      

  5.   

    用Html控件 OnClick="alertwin()"
    调服务器控件应该不行把
      

  6.   

    我试过douguangyao(咦,有间客栈!) 和 Debug_mq()  的方法了。确实是在调用我的客户段代码。
    可我有个问题,为什么我点击使用了二位方法的按钮后,我的页面的进度条会闪动呢?
      

  7.   

    Thinkerwang(Thinkerman) :你把那个写成ajax不就好了么。我是这么想的,不只对不对
    呵呵
      

  8.   

    可以在后台的page_load里面写
    Button1.Attributes.Add("OnClick","alertwin();");
      

  9.   

    html控件的input肯定是可以的,这是最基本的嘛
    然后后台注册js函数,以及使用onclientclick我也都试过了,是可以执行js函数的
    我现在要问的是,为什么我使用上诉两种方法产生的代码都会导致页面的进度条闪动呢?
      

  10.   

    点服务器按钮时就会向服务器请求一次,页面自然会刷新,
    如果你单纯为了执行这个脚本那么可以换成HTML控件,否则用AJAX来实现。如果你要用服务器控件来执行这个脚本,又要使它不刷新那么可以这样子实现:
    <script>
            function alertwin()
            {
                alert("Hello from client");
                return false;
            }
           </script>
    然后:
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    Button1.Attributes.Add("OnClick","if(alertwin()==false) return false;");
    }
    这样子就可以了。
      

  11.   

    doitnow2000(大海) ,谢谢。我试过了。非常成功。谢谢了
    可我想知道你在后台代码中的if(alertwin()==false) return false;的意思
    谢谢