Asp.net de Textbox İçini Seçili Yapmak
Asp.Net’te textbox içindeki text i herhangi bir postback sonucu javascript kullanarak seçili (highlight) yapmayı görelim.
Öncelikle böyle birşeye neden ihtiyacımız olabileceğini açıklayalım. Örneğin herhangi bir üye kayıt sayfası düşünün ve kullanıcıdan bir Kullanıcı Adı (username) girmesini istiyorsunuz. Kullanıcı username girdikten sonra girilen kullanıcının sistemde zaten varolduğunu msgbox la gösterdiğimizi farzedelim. Kullanıcı msgbox ı okuyup onayladıktan sonra kayıt sayfasına geri döndüğünde username textbox ının içindeki text i seçili olarak göstermek isteyebilirsiniz. Bunu yapmak için basit bir javascript öbeğini kodumuzun içine iliştireceğiz.
Çok basit bir örnekle kullanımı gösterelim;
default.aspx
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="Ornek1._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text="Kullanıcı Adı:"></asp:Label> <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox> <asp:Button ID="btnKaydet" runat="server" Text="Kaydet" /> </div> </form> </body> </html>
default.aspx.vb
Partial Public Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load End Sub Protected Sub btnKaydet_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnKaydet.Click If txtUserName.Text = "ahmet" Then MsgBox("Girilen Kullanıcı Adı Sistemde Mevcut.Farklı Bir Kullanıcı Adı Giriniz!") 'script i aşağıdaki gibi ekliyoruz. txtUserName.Attributes.Add("onFocus", "javascript: this.form." + txtUserName.ClientID.ToString + ".focus(); this.form." + txtUserName.ClientID.ToString + ".select();") txtUserName.Focus() End If End Sub End Class
Resimlerde de sırayla göstermeye çalıştım,
1.
2.
3.
4.