カンマ区切りしたいアドレスを出力しています。アドレスを出力する前にhtmlを含めないと、スペースを追加せずに正しく表示されます。
例:
97グレンロード、ハリウッド、BT18 0LE
現在取得中:
97グレンロード、ハリウッド、BT18 0LE
私のコードは次のとおりです。
<p class="no-margin-top">@Html.DisplayFor(modelItem => item.Address1)
@if(!string.IsNullOrEmpty(item.Address2)){
@:, @Html.DisplayFor(modelItem => item.Address2)
}
@if(!string.IsNullOrEmpty(item.Address3)){
@:, @Html.DisplayFor(modelItem => item.Address3)
}
@if(!string.IsNullOrEmpty(item.Town)){
@:, @Html.DisplayFor(modelItem => item.Town)
}
@if(!string.IsNullOrEmpty(item.County)){
@(", ")@("Co. ")@Html.DisplayFor(modelItem => item.County)
}
@if(!string.IsNullOrEmpty(item.Postcode)){
@(", ")@Html.DisplayFor(modelItem => item.Postcode)
}
@if(!string.IsNullOrEmpty(item.Country)){
@(", ")@Html.DisplayFor(modelItem => item.Country)
}
上記のようにカンマを別の方法で出力しようとしましたが、それでも同じ結果が得られます。
また、@ Html.Rawを使用するだけでなく、コードからすべてのスペースを削除してみました。
誰かがこれに対する修正を持っているか、それを行うためのより良い方法を提案することができれば、それをいただければ幸いです。
アップデート
フレームワーク内の変更により、Darinのソリューションはエラーを生成するようになりました。
System.Linqを使用していることを確認する必要があります
次に、Darinのコードを次のように修正しました。
public string FormattedAddress
{
get
{
var values = new[] { Address1, Address2, Address3, Town, Postcode, "Co. " + County }.Where(x => !string.IsNullOrEmpty(x));
return string.Join(", ", values);
}
}