RadTextBox EmptyMessage 和 .Replace 等于空还是有值?

RadTextBox EmptyMessage and .Replace Equals Empty or With a Value?

我的表单中有一个 RadTextBox 控件,在其中一种方法中,它将控件的文本设置为:

SecondHalfTB.EmptyMessage = sharedMailbox.MailboxEmail.Replace("CAAS_", string.Empty)
                                                 .Replace("@caas.gov.sg", string.Empty);

<td class="ms-formbody">
    CAAS_<telerik:RadTextBox ID="SecondHalfTB" runat="server" MaxLength="255">
    </telerik:RadTextBox>
    @caas.gov.sg
    <div>
        <asp:Label ID="lbSecondHalfTB" runat="server" CssClass="WarningMessage"></asp:Label>
    </div>
</td>


如果我没有在文本框中输入任何值,下面的语句return会是一个空字符串吗?

string newEmail = SecondHalfTB.Text;
if (newEmail == string.Empty)
{
    newEmail = SecondHalfTB.DisplayText;
}
CAAS_<telerik:RadTextBox ID="SecondHalfTB" runat="server" MaxLength="255">
</telerik:RadTextBox>
@caas.gov.sg

这些值实际上是硬编码在您的标记中的,不是吗?您只需将它们从 HTML 中删除即可。

根据定义,EmptyMessage 属性 允许您指定用户未输入值时输入控件的外观。

DisplayText 属性 允许您将来自服务器的显示值设置为与实际值不同的值。类似于空消息,但即使输入不为空也会显示。一旦用户更改输入值,此文本将被清除。

对于您更新的问题 - 如果文本框的实际值为空,newEmail 将与 DisplayText 的值相同。