是否可以为asp:Label设置默认值?

时间:2014-08-21 14:02:55

标签: c# asp.net label default-value

我在TemplateField内的GridView内有更多标签。例如,此Label显示数据库中的每条记录:

<asp:Label runat="server" ID="lblName" Text='<%#: Item.Name %>'></asp:Label>

但有时,列名称没有值,我想显示-而不是String.Empty

我可以为它编写一些函数,但是有很多列,如果可能的话我宁愿在一个地方解决这个问题。所以我问是否可以以某种方式更改/覆盖/设置asp:Label的默认值?

1 个答案:

答案 0 :(得分:1)

你可以使用条件来做到这一点:

<%#: !String.IsNullOrEmpty(Item.Name)?Item.Name:"-" %>

或者您也可以从System.Web.UI.WebControls.Label类继承并创建自己的控件然后使用它。

[Bindable(true), DefaultValue("-"), Localizable(true), PersistenceMode(PersistenceMode.InnerDefaultProperty), WebCategory("Appearance"), WebSysDescription("Label_Text")]
        public virtual string Text

Text属性是public和virtual,你可以轻松覆盖它。