我在TemplateField
内的GridView
内有更多标签。例如,此Label显示数据库中的每条记录:
<asp:Label runat="server" ID="lblName" Text='<%#: Item.Name %>'></asp:Label>
但有时,列名称没有值,我想显示-
而不是String.Empty
。
我可以为它编写一些函数,但是有很多列,如果可能的话我宁愿在一个地方解决这个问题。所以我问是否可以以某种方式更改/覆盖/设置asp:Label
的默认值?
答案 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,你可以轻松覆盖它。