我在一个使用ASP和VB的网站上有一些看起来像这样的字段(数据显示在gridview中):
<asp:TemplateField HeaderText ="Comp" SortExpression="NAM_CMPT" ItemStyle-Width="50%" ItemStyle-Wrap ="false" ItemStyle-HorizontalAlign ="left">
<ItemTemplate>
<asp:Label ID ="Label_Comp" runat="server"
Text='<%# Eval("CDE_CMPT") + " - " + Eval("NAM_CMPT")%>' />
</ItemTemplate>
</asp:TemplateField>
如果数据为空,我正在尝试做的是在字段中不显示任何内容,如果有数据,则显示您在Text属性中看到的字符串。目前,当没有数据时,它会显示Text字符串中使用的连字符。我尝试了几种格式化Eval的方法,我在网上找到但无法找到可行的解决方案。我也尝试过使用
EmptyDataText
属性然而这似乎没有效果。
我是ASP新手,因此可能是用户错误。任何帮助是极大的赞赏。
答案 0 :(得分:0)
您还可以使用eval进行可见并检查数据
<asp:TemplateField HeaderText ="Comp" SortExpression="NAM_CMPT" ItemStyle-Width="50%" ItemStyle-Wrap ="false" ItemStyle-HorizontalAlign ="left">
<ItemTemplate>
<asp:Label ID ="Label_Comp" runat="server" visible='<%# If(String.IsNullOrEmpty(Eval("CDE_CMPT")), false, true)'
Text='<%# Eval("CDE_CMPT") + " - " + Eval("NAM_CMPT")%>' />
</ItemTemplate>
</asp:TemplateField>
我还没有用过VB.net,所以语法可能会关闭。