2011-11-02 10 views
0

ユーザーの入力が最大文字数を超えた場合に備えて、残りの文字をテキストボックスの横のラベルを使用して表示したかったのです。C#のテキストボックスで部分文字列を使用する

これは、残りの文字のために私のコードです:私は今、やりたいこと

private void txtID_TextChanged(object sender, EventArgs e) 
    { 
     int MaxChars = 10 - txtID.Text.Length; 
     labelChars.Text = MaxChars.ToString() + " characters remaining."; 
    } 

は、彼/彼女はすでに文字の制限を超えたときに、私のテキストボックスに文字を入力するからユーザーを防ぐためです。私はサブストリングのテキストボックスのプロパティを使用するつもりですが、私はどのようにわかりません。私を助けてくれますか?ありがとう。

答えて

0

テキストボックスのMaxLengthプロパティを設定するだけで、それができます。

0

これはクライアント側ではるかに良く機能します。 lblCharsコントロールの機能を維持するには、テキストボックスのMaxLengthプロパティと多少のjavascriptを使用します。

<asp:TextBox MaxLength="10" runat="server" ID="txtID" ClientIDMode="Static" onkeydown="changedID();"></asp:TextBox> 
<asp:Label ClientIDMode="Static" ID="lblChars" runat="server"></asp:Label> 
<script type="text/javascript"> 
    function changedID() { 
     var t = document.getElementById("txtID"); 
     var l = document.getElementById("lblChars"); 
     l.innerText = (10 - t.value.length) + " characters remaining."; 
    } 
</script> 
関連する問題