我正在尝试创建一个文本框,在按下某个键后更新其中的文本,所以我在页面的类中创建了一个程序,它执行我想要的功能。该程序工作正常,我的问题是当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
答案 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完成的,因此您不需要回发整页,以便提高您的表现。