2011-04-19 120 views
0

我的頁面上有一個TextBox,它有一個AJAX TextBoxWaterMarkExtender連接到它。我需要根據頁面另一部分的選擇(這會導致部分頁面回發)更改水印文本。這裏是我到目前爲止的代碼:動態更改AJAX水印文本

if (myConditionIsTrue) 
    { 
     lblShipToHeader.InnerText = string.Format("{0} Name:", AnimalTypeName); 
     wmAccountName.WatermarkText = string.Format("New {0}", AnimalTypeName); 
    } 
    else 
    { 
     lblShipToHeader.InnerText = "Ship To:"; 
     wmAccountName.WatermarkText = "New"; 
    } 

不幸的是,這似乎並沒有工作。在初始頁面加載時,myCondition將爲false;將WaterMarkText設置爲「新建」。但是,一旦我做出選擇,水印文本就不會改變。

此頁面的部分正在更新,因爲我可以看到lblShipToHeader的更改。

關於如何讓這個工作的任何建議?

回答

0

好的,所以也許我應該在發佈之前多調試一下,但是我找到了答案。

當頁面發回時,我的TextBox.Text屬性被設置爲水印文本。所以,由於TextBox.Text不是null或空的;不顯示水印。

簡單地增加的上面貼代碼段之前這一權利固定的問題:

if (txtAccountName.Text == wmAccountName.WatermarkText) 
     txtAccountName.Text = string.Empty;