0

我想知道如何在选择或聚焦文本框时触发事件。我的文本框是 asp.net 类型。

 <asp:TextBox ID="TB" runat="server"></asp:TextBox>

当事件被触发时,我想用 c# 在代码隐藏中做一些事情。

提前感谢您的回复。

4

3 回答 3

2

我们在 asp.net 中没有任何文本框选择事件。您可以尝试使用文本框的文本更改事件,也可以尝试使用下面的 java 脚本。

<head runat="server">
<title></title>
<script type="text/javascript">
function RefreshUpdatePanel() {
    __doPostBack('<%= Code.ClientID %>', '');
};
</script>

         <asp:TextBox ID="Code" runat="server" onkeyup="RefreshUpdatePanel();"     AutoPostBack="true" OnTextChanged="Code_TextChanged"></asp:TextBox>
    <asp:UpdatePanel ID="Update" runat="server">
    <ContentTemplate>
        <asp:DropDownList runat="server" ID="DateList" />
        <asp:TextBox runat="server" ID="CurrentTime" ></asp:TextBox>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Code" />
    </Triggers>
</asp:UpdatePanel>
于 2012-12-06T11:17:39.740 回答
2

oki,所以我通过阅读不同页面上的文章来弄清楚。

检查链接:http ://codingresource.blogspot.no/2010/01/how-to-use-events-like-onblur-onfocus.html

而不是使用 onblur 我使用 onclick

于 2012-12-06T11:26:37.830 回答
0

它们不是asp文本框的服务器端onfocus事件,您可以按如下方式使用textchanged事件。使用ajax控件的更新面板可以避免页面刷新。

<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" ontextchanged="TextBox1_TextChanged1" ></asp:TextBox>

protected void TextBox1_TextChanged2(object sender, EventArgs e)
{

}

在客户端 onfocus 事件您可以通过 ajax 调用调用 ac# webmethord,如下所示

HTML 源

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $("#TextBox1").focus(function () {
                    $.ajax({
                        type: "POST",
                        url: "Default.aspx/test",
                        data: "{}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function(msg) {
                        }
                    });
                });
            });
  </script>

C# 代码

   [WebMethod]
    public static void test()
    {

    }
于 2012-12-06T12:09:25.740 回答