10/27/2005

MultiLine Textboxlarda MaxLength Sorunu

Asp.Net ile kullandığınız Multiline TextBox'larınız için MaxLength attribüte'unu kullanarak girilecek karakter sayısını limitlemek istiyorsanız farketmişsinizdir ki ASP.Net Multiline Textbox'lar için bu attribüte'ı kullanarak karakter limitlemeyi desteklemiyor. Bende çözüm olarak textbox'a girilecek karakter sayısını limitleyecek bir Javascript örneği yazayım dedim. Yazdığım örnek sizin limit olarak koyduğunuz karakter numarasına geldiğinizde backspace yapıyor kısaca.

< language="javascript">
function textSayaci(field, maximumlimit)
{if (field.value.length > maximumlimit)
{
field.value = field.value.substring(0, maximumlimit);
}
}
< /script >

Eklemeniz gereken bir diğer bölüm ise, Asp.Net aplikasyonunuzun codebehind kısmının Page Load bölümünde en tepeye aşşağıdaki satırları eklemek. Böylece textbox kontrolümüze 2 adet yeni attribüte eklemiş olacağız. TextBoxKontrolunuzunIdsi yazan yere kontrolünüzün ID'sini girin, limitrakam yerine de limit olarak istediginiz karakter sayısını girin.


TextBoxKontrolunuzunIdsi.Attributes.Add("onKeyDown", "textCounter(this,limitrakam);")
TextBoxKontrolunuzIdsi.Attributes.Add("onKeyUp", "textCounter(this,limitrakam);")

Yukarıdaki kod örneğini herhangi bir textbox için girilecek karakter sayısını Javascript ile limitlemek için de kullanabilirsiniz.