Asp.net 如果内联求值不是空,则连接

Asp.net 如果内联求值不是空,则连接,asp.net,vb.net,eval,Asp.net,Vb.net,Eval,我有一个数据列表,其中包含一个项目模板,该模板显示两个值,两个值之间有一个空格。问题是,当第一个值为空时,前面有一个空格。我只想在第一次求值时连接空格 <ItemTemplate> <%#Container.DataItem("CustomText")%>&nbsp; <%#Container.DataItem("ServiceDescriptio

我有一个数据列表,其中包含一个项目模板,该模板显示两个值,两个值之间有一个空格。问题是,当第一个值为空时,前面有一个空格。我只想在第一次求值时连接空格

                <ItemTemplate>
                    <%#Container.DataItem("CustomText")%>&nbsp;
                    <%#Container.DataItem("ServiceDescription")%>
                </ItemTemplate>

我想要像这样的东西:

                <ItemTemplate>
                    <%#" " + Container.DataItem("CustomText")%>&nbsp;
                    <%#Container.DataItem("ServiceDescription")%>
                </ItemTemplate>

其中,如果CustomText有值,则它仅处理第一个值中的任何一个

有道理吗?我喜欢有领先者;因为它允许它偏移多行描述的开头。

您可以尝试以下方法:

<%# " " + If(IsDBNull(Container.DataItem("CustomText")) OrElse String.IsNullOrEmpty(Container.DataItem("CustomText")), String.Empty, String.Format("{0}&nbsp;", Container.DataItem("CustomText"))) & Container.DataItem("ServiceDescription") %>


非常棒,非常优雅,谢谢。我不理解内联代码,你应该使用
IF
操作符,而不是VB中的
IIF
函数。NET@MattWilko-谢谢你的建议!我不认识那个接线员。我更新了我的答案。