没有asp文本框的按键事件

时间:2011-05-03 05:10:01

标签: c# asp.net

您好我需要处理asp文本框的keypress事件,但是对于asp文本框不可用的按键事件。有没有替代方案可以解决这个问题? Plz帮忙!

4 个答案:

答案 0 :(得分:4)

利用javascript + textbox的按键事件

并使用ajax或使用pagemthods调用服务器端函数。

.cs file
[ScriptMethod, WebMethod]

   public static string docall()
   {
      return "Hello";
   }

.aspx file

<script type="text/javascript">
      function btnAccept_onclic() {
          PageMethods.docall(onSuccess, onFailure);
      }

  function onSuccess(result) {
          alert(result);
      }


      function onFailure(error) {
          alert(error);
      } 

</script>

检查一下:http://blogs.microsoft.co.il/blogs/gilf/archive/2008/10/04/asp-net-ajax-pagemethods.aspx

答案 1 :(得分:2)

TextBox1.Attributes.Add("onkeypress", "return clickButton(event,'" + Button1.ClientID + "')");

代码隐藏生成以下内容:

<input name="TextBox1" type="text" id="TextBox1" onkeypress="return clickButton(event,'Button1')"  />

这会导致在Button1内点击回车键时点击网络控件TextBox1

答案 2 :(得分:2)

试试这个:

  1. 只需制作TextBox的AutoPostBack True
    (为此,请单击TextBox,然后按 F4 。然后在属性中,使AutoPostBack为True)

  2. 然后使用TextBox OnTextChanged事件 (为此,请选择“设计视图”。然后再次单击“文本框”。然后单击“事件”选项卡(“事件”按钮位于上方)并双击“TextChanged事件”)

答案 3 :(得分:0)

这对按键按下并允许数值

有帮助     function fncInputNumericValuesOnly(){         if(!(event.keyCode == 45 || event.keyCode == 46 || event.keyCode == 48 || event.keyCode == 49 || event.keyCode == 50 || event.keyCode == 51 || event.keyCode == 52 || event.keyCode == 53 || event.keyCode == 54 || event.keyCode == 55 || event.keyCode == 56 || event.keyCode == 57 || event.keyCode == 8 || event.keyCode == 190 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 16)){             event.returnValue = false;         }     }
         <asp:TextBox ID="txtRphone" runat="server" CssClass="NormalTextBox" onkeypress="fncInputNumericValuesOnly()"
                                MaxLength="15"></asp:TextBox>