是这样,我在按键里进行数据库操作,需要从页面取得一个值,这个值由javascript的一个函数实现,从C#里怎样从按键中调用这个函数并取得这个函数的返回值赋值给一个变量,来完成数据库操作呢?

解决方案 »

  1.   

    <input type="hidden" id="txtTestValue" runat="server" />
    <asp:Button ID="Button1" ....
    </html>
    <script>
    function test()
    {
    return 'aaa';
    }function setvalue()
    {
    document.getElementById('txtTestValue').value=test();
    }
    document.getElementById('Button1').onclick=setvalue;
      

  2.   

    按钮事件取
    this.txtTestValue.Value
      

  3.   

    我的按键在C#里还要进行其他操作,只是想通过javascript的函数得到一个值,也就是说在按键里调用一下这个函数。。
      

  4.   

    按键ID.Attributes.Add("onclick","javascript:JavaScript函数名()");不知道是否符合你问的问题!
      

  5.   

    我好多控件都是这么添加的,但是这个需求要多一点,因为onclick还要进行C#操作
      

  6.   

    楼上的sprc_lcl说的不错,但是lz的思想有问题。C#代码是运行在iis服务器端的,而javascript是运行在用户浏览器端的,所以C#肯定是不能执行调用javascript的函数。
    所以你的问题的思路应该为,再点击页面上的一个button时,先执行Client端的javascript,把计算出来的值,赋给一个TextBox;再Post页面到服务器端,服务器端再取出这个TextBox的值。
      

  7.   

    用ClientScript.GetCallbackEventReference
    具体方法
    网上搜一下
    很多的
      

  8.   


    function getValue(){
        var str = "";
        var o = document.getElementById("Layer1");  
        var eles = o.childNodes;    
        for(var i=0;i<eles.length;i++){            
            if(o.childNodes[i].type == "button"){   
                if(o.childNodes[i].style.background =="#a9a9a9")         
                    str += '0 ';
                else
                    str += '1 ';    
            }
        }    
        alert(str);
        var hid = document.getElementById("Hidden1");
        hid.value = str;
        //return str;     
    }             
     protected void Btn1_Click1(object sender, EventArgs e)
        {       
            string str = "";
            str+="<script language='javascript'>";
            str+="getValue();";
            str+="</script>";
            txt1.Text = this.Hidden1.Value;        
        }我是这么写的。。
      

  9.   

    不能...
    function getValue(){ 
        var str = ""; 
        var o = document.getElementById("Layer1");  
        var eles = o.childNodes;    
        for(var i=0;i <eles.length;i++){            
            if(o.childNodes[i].type == "button"){  
                if(o.childNodes[i].style.background =="#a9a9a9")        
                    str += '0 '; 
                else 
                    str += '1 ';    
            } 
        }    
        alert(str); 
        var hid = document.getElementById("Hidden1"); 
        hid.value = str; 
        //return str;    
    }
    document.getElementById('Btn1').onclick=getValue;
            
    protected void Btn1_Click1(object sender, EventArgs e) 
        {      
            txt1.Text = this.Hidden1.Value;        
        } 
      

  10.   

    Button裡面有兩個事件:onclick和OnClientClick,
    Onclick是你C#的事件,而OnClientClick你可以加javascript的事件,這兩個事件的執行順序是:OnClientClick-->Onclick
    你在javascript的事件裡面把你要的值寫到一個隱藏的TextBox或者Label中,然後當執行到C#事件時候去取就好了,
    我也是初學的,試下,你看下行嗎?