asp.net中用JavaScript调用后台C#函数

来源:互联网 发布:c语言函数怎么写 编辑:程序博客网 时间:2024/05/16 06:12

需求:鼠标单击TextBox,计算出一个值赋给此TextBox。

问题:asp.net的服务器控件TextBox虽然有OnTextChanged事件能调用后台C#函数,但是对单击事件目前不能直接调用C#函数。

解决思路:服务器控件button鼠标单击事件可以调用后台C#函数,可以考虑在TextBox的单击事件中调用此button的单击事件响应函数,然后把此button设置为隐藏。

方法:
1、放置一个button控件,并添加鼠标单击事件:<asp:Button ID="btnCost_balance" runat="server" Text="aaa" onclick="btnCost_balance_Click"style="visibility:hidden"/>
注意:aspx中Button在隐藏是不能使用visible=false,这样会使得 getElementById时无法找到此控件;当然也可以这样设置style="display:none"

2、在TextBox控件添加鼠标单击事件,并调用Button的鼠标单击事件:
<asp:TextBox ID="tbCost_balance" runat="server" Width="90%" onclick='document.all("btnCost_balance").click();' ></asp:TextBox>
调用方法有很多,还可以是:document.getElementByIdx_x("btnCost_balance" ).click ();

3、别忘了Button的btnCost_balance_Click事件响应函数里面要写上处理代码
protected void btnCost_balance_Click(object sender, EventArgs e)
{ //处理函数 }