У меня больше ярлыков в TemplateField
которые находятся внутри GridView
. Например, эта метка отображается для каждой записи в базе данных:
<asp:Label runat="server" ID="lblName" Text='<%#: Item.Name %>'></asp:Label>
Но иногда имя столбца не имеет значения, и я хочу показать -
вместо String.Empty
.
Я мог бы написать для него какую-то функцию, но есть много столбцов, и я бы скорее решил это в одном месте, если это было возможно. Поэтому я спрашиваю, возможно ли изменить/переопределить/установить значения по умолчанию для asp:Label
?
Вы можете сделать это, используя условие:
<%#: !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
Текстовое свойство является общедоступным и виртуальным, вы легко переопределяете его.
asp:Label
, которое по умолчанию являетсяString.Empty
.