2017-06-27 16 views
0

テキストボックスからtext.lengthを表示する動的文字カウンタを作成しようとしています。私はtextchangedを使用しようとしていますが、私のラベルに値が全く表示されないので、私は作品が欠けていると思います。動的文字カウンタ - 何も表示されていないラベル

ASP

<tr> 
    <td style="vertical-align: middle"> 
     Note to Buyer: 
    </td> 
    <td> 
     <asp:TextBox ID="txtNoteToBuyer" runat="server" Height="150px" MaxLength="425" TextMode="MultiLine" Width="400px"></asp:TextBox> 
    </td> 
    <td>  
     <asp:Label ID="lblCharacterCount" runat="server"></asp:Label> 
    </td> 
</tr> 

VB

Protected Sub txtNoteToBuyer_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtNoteToBuyer.TextChanged 
    lblCharacterCount.Text = Len(txtNoteToBuyer.Text) 
End Sub 
+2

このサーバー側では実行しないスクリプトの例を次に示します。代わりにJavaScriptを使用してください。それ以外の場合は、入力された1文字ごとにページをポストバックする必要があります。 – Santi

+0

よろしくお願いします。ありがとう! – Cole

答えて

4

オッズあなたのイベントが発火されていないです。テキストボックスのAutoPostBackプロパティをtrueに設定する必要があります。

<asp:TextBox ID="txtNoteToBuyer" runat="server" Height="150px" MaxLength="425" TextMode="MultiLine" 
         Width="400px" AutoPostBack="True"></asp:TextBox> 

しかし、これはおそらく応答が遅くなります。 JavaScriptを使用して、ポストバックを要求する代わりに、フロントエンドのカウントを動的に更新することをお勧めします。

これを行うには、テキストボックスにOnKeyUp="updateCount();"を追加し、ページにカウントを更新するスクリプトを追加する必要があります。

+0

あなたの返信に感謝します!私はこれらの方法の両方を試みましたが、私のラベルは実行するとまだ空白に見えます。 javascriptの部分については、私のテキストボックスとラベルがあるaspxページにスクリプトを置いていますか? – Cole

+0

スクリプトを別のファイルに追加してページに読み込むことはできますが、簡単にするために、はい、テキストボックスとラベルがあるaspxページにある必要があります。それが動作することを確認する最も簡単な方法は、タグに入れることです。 – Wenadin

+0

私は他のすべてのスクリプトをトップに持っていますが、私のラベルはまだ空白です。それがAutoPostBackで動作しないという事実も、私はまだどこかの部分が欠落していると思います。 – Cole

関連する問題