2016-04-18 15 views
2

2つの値をスペースで区切って表示するアイテムテンプレートを持つデータリストがあります。問題は、最初の値が空の場合、先行する空白があることです。私がしたいことは、最初の評価に値がある場合にのみスペースを連結することです。インライン評価が何もない場合に連結する

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

私が何かしたい:

CustomTextの値がある場合、それは最初<%の#%>のいずれかを処理
   <ItemTemplate> 
        <%#" " + Container.DataItem("CustomText")%>&nbsp; 
        <%#Container.DataItem("ServiceDescription")%> 
       </ItemTemplate> 

を。

意味がありますか?私はそれが複数の行の記述の開始をオフセットすることができるので、先導を持っているのが好きです。

答えて

3

あなたはこれを試すことができます。

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

ファンタスティックかつエレガントな、ありがとう。私はインラインコードだけでなく、私が好きなことを理解していません。 –

+1

VB.NETの 'IIF'関数の代わりに' IF'演算子を使うべきです –

+0

@MattWilko - 提案をありがとう!私はそのオペレータを知らなかった。私は自分の答えを更新しました。 – ConnorsFan