<td>
<asp:Label ID="TypeOfPaintingLabel" runat="server"
Text='<%# Eval("TypeOfPainting") %>' />
</td>
有谁知道这是如何工作的?如果没有为"NA"
提供任何值,我想显示TypeOfPainting
。
答案 0 :(得分:7)
创建public method
您可以非常轻松地完成此任务,例如
public string testbind(object myvalue)
{
if (myvalue == null)
{
return "NA value";
}
return myValue.ToString();
}
标签代码:
<asp:Label ID="TypeOfPaintingLabel" Text='<%# testbind(Eval("TypeOfPainting")) %>' runat="server"></asp:Label>
或者您可以使用
<%#(String.IsNullOrEmpty(Eval("TypeOfPainting").ToString()) ? "NA" : Eval("TypeOfPainting"))%>
你必须遵循这种类型的情节。
希望它有效。
答案 1 :(得分:2)
您的控件是runat="server"
为什么不控制代码背后的值?
If (string.IsNullOrEmpty(TypeofPaintingValue))
{
TypeofPainting.Text="NA";
}
答案 2 :(得分:2)
你可以尝试做类似的事情:
<%#(string.IsNullOrEmpty(Eval("TypeOfPainting").ToString()) ? "NA" : Eval("TypeOfPainting"))%>
答案 3 :(得分:0)
你也可以从数据库端设置这些东西
ISNULL(TypeOfPainting,'NA') AS TypeOfPainting
答案 4 :(得分:0)
我建议仅在SQL
中执行此操作:
使用ISNULL(expression, value_if_expression_is_null)
或
COALESCE(expression, expression2, expression3)
示例:
SELECT
Name, DOB,
(CASE WHEN Address1 IS NULL THEN 'NA' ELSE Address1 END) AS Address1,
(CASE WHEN Address2 IS NULL THEN 'NA' ELSE Address2 END) AS Address2,
...
FROM Users
或
SELECT
Name, DOB, Address1,
coalesce(Address2,'NA'), coalesce(City,'NA'),
coalesce(State,'NA'), coalesce(Zip,'NA')
FROM Users