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

本文关键字:Label 设置 默认值 asp 是否 | 更新日期: 2023-09-27 18:19:09

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

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

但有时,column Name没有值,我想显示-而不是String.Empty

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

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

您可以使用condition:

<%#: !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属性是公共的和虚拟的,你可以很容易地覆盖它