实际上我正在绑定gridview中Image控件工具提示的一些数据。
一切正常。看下面的代码
<asp:Image ID="Image1" runat="server" ImageUrl="~/img/images.jpg" ToolTip='<%# (Eval("Comments").ToString().Length == 0? "": "Late Reason - " + DataBinder.Eval(Container.DataItem, "Comments")) + (Eval("Out_Comments").ToString().Length == 0? "" :"| Out Reason - "+ DataBinder.Eval(Container.DataItem, "Out_Comments")) %>' />
我的要求是当数据库中的“注释”字段为空或空白时,应从工具提示中删除此额外文本“延迟原因 - ”,如果“注释”字段不为空或为空,则此工具提示中应包含此额外文本。对于Out_Comments字段也是如此,它有额外的文本“Out Reason - ”。
我该怎么做?
答案 0 :(得分:1)
试试这个:
<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl="~/img/images.jpg"
ToolTip='<%# !string.IsNullOrEmpty(Eval("Comments") as string)
? !string.IsNullOrEmpty(Eval("Out_Comments") as string)
? "Late Reason - " + Eval("Comments") + " | Out Reason - " + Eval("Out_Comments")
: "Late Reason - " + Eval("Comments")
: "Out Reason - " + Eval("Out_Comments")%>' />
</ItemTemplate>
</asp:TemplateField>
编辑:将空检查更改为string.IsNullOrEmpty(Eval("Comments") as string)
以检查空/空字符串。
答案 1 :(得分:0)
您应该在GridView RowDataBound事件中处理此逻辑。
Image img = e.Row.FindControl("Image1");
if( img != null ) {
//Apply Logic Here
img.ToolTip = //End result of logic
}