动态更改AJAX WaterMark文本

时间:2011-04-19 17:55:44

标签: c# ajax ajaxcontroltoolkit

我的页面上有一个TextBox,它连接了一个AJAX TextBoxWaterMarkExtender。我需要根据页面另一部分中的选择来更改水印文本(这会导致部分页面回发)。这是我到目前为止的代码:

    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的更改。

关于如何让它发挥作用的任何建议?

1 个答案:

答案 0 :(得分:0)

好的,所以也许我应该在发布之前调试一下,但我找到了答案。

当页面回发时,我的TextBox.Text属性设置为水印文本。因此,由于TextBox.Text不为null或为空;水印不显示。

只需在上面发布的代码片段之前添加此权限即可解决问题:

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