从 javascript 函数调用 .cs 文件中的程序,以便按 onkeypress 函数 ASP.net



我正在尝试创建一个文本框,该文本框在按下键后更新其中的文本,因此我在页面的类中创建了一个程序来执行我想要的功能。该程序运行良好,我的问题是当发生 onkeypress 事件时,我如何在 javascript 函数中调用该程序:

我的文本框:

<asp:TextBox ID="MyBox" onkeypress="AutoText(); return false;" runat="server" 
      Width="400px" ToolTip="Text?" CausesValidation="True" AutoPostBack="True">
</asp:TextBox>

我的函数

function AutoText() 
{
    var i;
    i = Class1.BoxTextChanged(object sender, EventArgs e);
}

我知道该函数不起作用,这不是如何从 JavaScript 中的 c# 类调用程序,我只是问是否可以如何做到这一点。

请注意,我

确实尽可能多地研究了这个问题,也许我所做的搜索没有用,因为这个主题的主题太多了,或者我只是做错了:P

您正在混合客户端和服务器端。 ASP.NET 从服务器端执行,Javascript从客户端执行。

因此,在这种情况下,您不能直接从 Javascript 调用 ASP.NET 函数,因为服务器无法访问客户端文本框。

你的解决方案是用Javascript编写这个函数。可能是这样的:

function boxTextChanged(text) {
    getElementById('textBoxToUpdate').value(text);
}

顺便说一下,我只想补充一点,您可以使用ajax 直接在 Javascript 中调用 ASP.NET,但服务器端永远无法在客户端直接更新 DOM。通常,ajax 用于从服务器获取数据。

您可以调用Web方法onKeyPress envt并向其传递文本框的值,该值将使用文本框值更新数据库。这是由 JavaScript 完成的,因此您不需要回发整个页面,从而提高您的性能。

最新更新