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

时间:2014-03-04 11:56:09

标签: c# javascript asp.net events onkeypress

我正在尝试创建一个文本框,在按下某个键后更新其中的文本,所以我在页面的类中创建了一个程序,它执行我想要的功能。该程序工作正常,我的问题是当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

2 个答案:

答案 0 :(得分:0)

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

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

您的解决方案是在Javascript中编写此功能。它可能是这样的:

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

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

答案 1 :(得分:0)

你可以调用web方法onkeypress envt并传递文本框的值,它将使用文本框值更新数据库。 这是通过javascript完成的,因此您不需要回发整页,以便提高您的表现。