迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

通过 Javascript 触发 Asp:TextBox 的 ontextchanged 事件

作者:迹忆客 最近更新:2024/03/22 浏览次数:

好吧,如果你不想使用 Ajax 或其他任何东西来实现它并享受正常的 ASP.NET 回发,你可以这样做(不使用任何其他库):

在代码文件中,如果你使用的是 C# 和 .NET 2.0 或更高版本,请将以下接口添加到 Page 类中,如下所示:

public partial class Default : System.Web.UI.Page, IPostBackEventHandler {}

然后你需要将此函数添加到你的代码文件中。

public void RaisePostBackEvent(string eventArgument) {}

在 JavaScript 中的 onclick 事件中编写以下代码。

var pageId = '<%=  Page.ClientID %>';
__doPostBack(pageId, argumentString);

然后代码文件调用 RaisePostBackEvent 方法,并使用 eventArgument 参数作为 JavaScript 传递的 String 参数。你现在可以调用你想要的任何其他事件。

这是该问题的可能解决方案。

WebForm1.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="textbox.WebForm1" %>

<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>

   <script type="text/javascript">
    function RefreshIt(selectObj) {
      __doPostBack('<%= Page.ClientID %>', selectObj.name);
    }
   </script>
<body>
  <form id="form1" runat="server">
  <div>
     <asp:TextBox runat="server" AutoPostBack="True" ID="txtG1" OnTextChanged="txtG1_TextChanged"
      onmouseout="javascript:RefreshIt(this);" ></asp:TextBox>
    <br />
    &nbsp;<asp:Label ID="Label1" runat="server" Font-Size="Large"></asp:Label>

  </div>
  </form>
</body>
</html>

当你在浏览器中运行代码时,你将获得如下输出:

当你在输入字段中输入文本时,它将触发 ontextchange 事件并提供如下输出(即红色):

你可以把 RefreshIt 函数改为 postback 作为一个参数。

你可能需要了解背后的代码并将 IPostBackEventHandler 添加到页面并处理 RaisePostBackEvent 函数。

WebForm1.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace textbox {
  public partial class WebForm1 : System.Web.UI.Page, IPostBackEventHandler {
    protected void Page_Load(object sender, EventArgs e) {}

    public void RaisePostBackEvent(string Arg) {
      if (txtG1.ID == Arg)
        txtG1_TextChanged(txtG1, null);
    }

    protected void txtG1_TextChanged(object sender, EventArgs e) {
      Label1.Text = txtG1.Text;
      Label1.ForeColor = System.Drawing.Color.Red;
      Label1.BackColor = System.Drawing.Color.White;
    }
  }
}

你可以使用下面提到的代码通过 JavaScript 触发 asp:TextBoxontextchanged() 事件。

上一篇:使用 JavaScript 将 Blob 转换为文件

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

JavaScript 中的转义引号

发布时间:2024/03/22 浏览次数:189 分类:JavaScript

JavaScript 转义引号可以有多种类型。可以使用双引号或单引号或(\)。另一种操作转义引号的方法是使用实体字符。

JavaScript 中的 HTTP GET 请求

发布时间:2024/03/22 浏览次数:137 分类:JavaScript

要从 Web 浏览器中检索数据或任何类型的数据格式,我们可以使用 XMLHttpRequest 对象来捕获 URL 以及 Fetch API。

JavaScript 中的 extend 方法

发布时间:2024/03/22 浏览次数:133 分类:JavaScript

JavaScript 库 jQuery 有一个方法 extend 来参考另一个对象来修改目标对象。此任务可以进行此修改以更改目标对象的元素,也可以修改到某个部分。

JavaScript ArrayBuffer

发布时间:2024/03/22 浏览次数:147 分类:JavaScript

在本文中,学习 JavaScript 中的 ArrayBuffer 对象。我们将通过不同的示例介绍如何创建和操作 ArrayBuffer 对象。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便