ASP文本框没有按键事件

4

你好,我需要在ASP文本框的按键事件上工作,但是ASP文本框没有可用的按键事件。有没有其他的解决方案呢?请帮忙!


你能告诉我们一些具体场景下的需求吗?这样我们才能提供特定的问题解决方案。 - Muhammad Akhtar
4个回答

4
利用JavaScript的keypress事件和文本框,通过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

该链接介绍了如何在ASP.NET中使用Ajax PageMethods。通过PageMethods,可以在不刷新整个页面的情况下,从客户端直接调用服务器端代码,并返回结果。这对于提高Web应用程序的性能和响应速度非常有帮助。

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

代码生成如下内容:
<input name="TextBox1" type="text" id="TextBox1" onkeypress="return clickButton(event,'Button1')"  />

当在TextBox1内按下回车键时,这会导致Web控件Button1被点击。


2
尝试以下步骤:
  1. 将文本框的 AutoPostBack 设为 True
    (方法:点击文本框,按下 F4,在属性中将 AutoPostBack 设为 True)

  2. 然后使用文本框的 OnTextChanged 事件
    (方法:选择设计视图,再次点击文本框,点击事件选项卡(事件按钮在上方),双击 TextChanged 事件)


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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接