Можно ли установить значение по умолчанию для asp: Label?

1

У меня больше ярлыков в TemplateField которые находятся внутри GridView. Например, эта метка отображается для каждой записи в базе данных:

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

Но иногда имя столбца не имеет значения, и я хочу показать - вместо String.Empty.

Я мог бы написать для него какую-то функцию, но есть много столбцов, и я бы скорее решил это в одном месте, если это было возможно. Поэтому я спрашиваю, возможно ли изменить/переопределить/установить значения по умолчанию для asp:Label?

Теги:
label
default-value

1 ответ

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

Текстовое свойство является общедоступным и виртуальным, вы легко переопределяете его.

  • 0
    Да, это то, что я делаю по функциям, но мне интересно, есть ли способ переопределить значение по умолчанию asp:Label , которое по умолчанию является String.Empty .
  • 0
    Я отредактировал свой ответ и добавил второй вариант.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню