2013-05-06 1 views
1

здесь Я пытаюсь получить водяной знак для двух текстовых полей, предположительно это текстовое поле Username и Password. Я уже получаю повесить его, используя этот код:asp.net водяной знак на странице load

<asp:TextBox ID="TbUsername" runat="server" CssClass="tb" Width="170px" onfocus="if(this.value=='Enter username'){this.value=''}" 
           onblur="if(this.value==''){this.value='Enter username'}"></asp:TextBox> 

и

<asp:TextBox ID="TbPassword" runat="server" CssClass="tb" TextMode="Password" Width="170px" 
           onfocus="if(this.value=='Enter password'){this.value=''}" onblur="if(this.value==''){this.value='Enter password'}"></asp:TextBox> 

проблема, я могу получить водяной знак всплывающий только нажав на текстовое поле первым, в то время как я хочу их показать, когда страница сначала началась. Есть ли способ сделать это? Заранее спасибо за помощь.

ответ

3

Используйте html5 по недвижимости Заполнитель для Whatemark

вроде как ниже

<asp:TextBox ID="TbPassword" runat="server" CssClass="tb" TextMode="Password" Width="170px" 
           placeholder="Your Password"></asp:TextBox> 

для использования этого имущества вам не нужно использовать любой внешний скрипт или делать какие-либо кодирования, только то, что у вас есть сделать, поставить атрибут заполнителя в текстовом поле

+0

Приятный подход, сэр: D –

+0

thanx много @DoanCuong –

+0

он не будет поддерживать, например, версии 9 и ниже. –

1

Вы должны установить значение при загрузке страницы.

Попробуйте

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      TbUsername.Text = "Enter username"; 
      TbPassword.Attributes.Add("value", "Enter Password"); 
     } 
    } 

/Update

Вот код для VB.NET

Protected Sub Page_Load(sender As Object, e As EventArgs) 
    If Not IsPostBack Then 
     TbUsername.Text = "Enter username" 
     TbPassword.Attributes.Add("value", "Enter Password") 
    End If 
End Sub 
+1

Я думаю, вы должны проверьте 'IsPostBack', чтобы избежать конфликта –

+0

Вы правы;) – Solaflex

+0

Было бы проще просто установить значение по умолчанию для текста в разметке aspx – Netricity

0

В функции загрузки страницы вашего .vb файла:

If Not IsPostBack Then 
    Me.TbUsername.Text = "Enter username" 
    Me.TbPassword.Attributes.Add("value", "Enter Password") 
End If 

Этом установит watermark для загрузки страницы в первый раз.

Другой подход - использование jquery и $(document).ready() функция.

+0

Спасибо за ответ, где я могу поместить код, если я могу спросить? в page.aspx.vb или page.vb? Я пытаюсь поместить его в page.aspx.vb, и я получаю синтаксическую ошибку, символ недействителен и т. Д. –

+0

Извините, я думал, что вы используете C#, я отредактирую свой ответ –

+0

@AbieGiordano ответ отредактировал –