コンマで区切られたビューで返される文字列配列がありました。
@Html.DisplayFor(m => name.studentName) <span>, </span>}
私はこの方法を使用していますが、最後の文字列もコンマで終了します。これを回避する方法を知りたいですか?
コンマで区切られたビューで返される文字列配列がありました。
@Html.DisplayFor(m => name.studentName) <span>, </span>}
私はこの方法を使用していますが、最後の文字列もコンマで終了します。これを回避する方法を知りたいですか?
studentName
モデルに学生のコレクションがあり、それぞれが表示したいプロパティを持っていると仮定します。
public IEnumerable<Student> Students { get; set; }
ビュー内では、このコレクションをループして、各学生の名前を個別に表示しています。
ループする代わりに、次のことができます。
@Html.Raw(
string.Join(
"<span>,<span>",
Model.Students.Select(x => Html.Encode(x.studentName))
)
)
またはさらに良いことに、このロジックを再利用可能なカスタム HTML ヘルパーに外部化します。
public static class HtmlExtensions
{
public static IHtmlString FormatStudentNames(this HtmlHelper htmlHelper, IEnumerable<Student> students)
{
return new HtmlString(
string.Join(
"<span>,<span>",
students.Select(x => Html.Encode(x.studentName))
)
);
}
}
次に、ビュー内でこのヘルパーを呼び出すだけです。
@Html.FormatStudentNames(Model.Students)
foreach や作成中のループを記述する必要はなくなりました。