我的页面上有一个连接了AJAX TextBoxWaterMarkExtender的TextBox。我需要更改水印文本,这取决于在页面的另一个部分的选择(这会导致部分页面回发)。以下是我到目前为止拥有的代码:
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设置为"New“。但是,一旦我做了选择,水印文本就不会改变。
它所在的页面部分正在更新,因为我可以看到对lblShipToHeader的更改。
对如何让它工作有什么建议吗?
发布于 2011-04-20 02:05:19
好吧,也许我应该在发布之前再调试一下,但我找到了答案。
当页面回发时,我的TextBox.Text属性被设置为水印文本。因此,由于TextBox.Text不是null或空,所以不显示水印。
只需在上面发布的代码片段之前添加此代码即可解决此问题:
if (txtAccountName.Text == wmAccountName.WatermarkText)
txtAccountName.Text = string.Empty;https://stackoverflow.com/questions/5720557
复制相似问题