Событие изменения текста в asp.net - PullRequest
0 голосов
/ 20 февраля 2012

У меня есть два текстовых поля, Text1 и Text2, на панели обновления. Код здесь:

 <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="Panle" >
        <ContentTemplate>
        <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="true" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>
        <asp:TextBox ID="TextBox2" runat="server" AutoPostBack="True"></asp:TextBox>
        </ContentTemplate> 
        </asp:UpdatePanel>

и я написал этот код для textchanged события Text1:

  Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        TextBox2.Text = TextBox1.Text
    End Sub

Теперь проблема в том, что когда я ввожу текст в Text1, а затем нажимаю Enter, тогда текст text2 равен тексту text1, но я хочу сделать это перед нажатием ввода в text1. Я имею в виду, когда я нажимаю клавишу text1, текст text2 должен быть равен text2.

Ответы [ 3 ]

3 голосов
/ 20 февраля 2012

Вы можете использовать JQuery, чтобы делать то, что вы хотите.

$('#<%=TextBox1.ClientID %>').keyup(function(event) {
   var value = $(this).val();
   $('#<%=TextBox2.ClientID %>').text(value);
});

Поскольку вы решаете проблему на стороне клиента, вам больше не нужно устанавливать AutoPostBack в True.

2 голосов
/ 20 февраля 2012

Если вы хотите обработать событие keydown, вам нужен javascript:

<asp:TextBox ID="TextBox1" onkeydown="document.getElementById('TextBox2').value=this.value" runat="server" AutoPostBack="false"></asp:TextBox>
0 голосов
/ 01 февраля 2013

.aspx страница

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <script type="text/javascript">
    function chngtxtbxval()
    {
      var t1=document.getElementById("TextBox1").value;
      var t2=document.getElementById("TextBox2");
      t2.value=t1;

    }
    </script>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    </div>
    </form>
    </body>
    </html>

код за страницей

    protected void Page_Load(object sender, EventArgs e)
    {
    TextBox1.Attributes.Add("onkeyup", "chngtxtbxval();");
    }
...