私の問題の解決策を探していますが、近いものは見ていません。c#viewModelのstringプロパティの文字列連結MVCに表示されるlinqを使用したリストオブジェクト
私はオブジェクトがあります。私が何をしようとしています何
public class MyTestObject()
{
public int Id {get;set;}
public string Description {get;set;}
public IList<Event> Events {get;set;
}
と
public class Event()
{
public int Id {get;set;}
public int Type {get;set;}
public string EventName {get;set;}
}
は改行で分離された単一の文字列にイベントクラスからEVENTNAMEのプロパティを連結しています。
string test = string.Join(Environment.NewLine, MyTestObject.Events.Where(x =>
x.Type == 99).Select(x => x.Reference));
これは連結文字列を生成しますが、改行は認識されません。文字列は、MVCページのdivに表示されます。
Environment.Newlineを<br/>
に置き換えました。これは、結合された文字列の間にテキスト文字列<br/>
を追加するだけです。
例
text1<br />text2
次は私が試した:私を与えた
string test = string.Join("", MyTestObject.Events.Where(x =>
x.Type == 99).Select(x => x.Reference + " Boo"));
:
text1Bootext2Boo
だからロジックが勝って、私は
string test = string.Join("", MyTestObject.Events.Where(x =>
x.Type == 99).Select(x => x.Reference + Environment.NewLine));
012を試してみました
その後、新しい行が追加されたことを確認するためにhtmlを見ましたが、ブラウザには表示されませんでした。
divで改行を確認するために、特定のスタイルを使用する必要がありますか?
var eventNameArray = MyTestObject.SelectMany(x => x.Events)
.Select(x => x.EventName)
.ToArray();
をしたり、個別の値
var eventNameArray = MyTestObject.SelectMany(x => x.Events)
.Select(x => x.EventName)
.Distinct()
.ToArray();
を必要とするなら、あなたは単一の文字列に結果を
join
できます
が、私はそれが戻っている改行は、 'htmlとして
を'のようなものを望んでいる/ R/N 'であることを前提としています'。私は 'Environment.NewLine'をそれに置き換えて、それがうまくいくかどうかを調べるでしょう。 – gbishop3
は '' \ r \ n "'に置き換えられないか、実際にはHTMLの改ページを使用しません。 "
" – MethodMan
_改行を表示するためにdivで特定のスタイルを使用しますか? 'white-space:pre-line' –