Saya mencoba membuat daftar HTML yang terlihat seperti berikut, menggunakan mesin tampilan Razor:
<ul>
<li id="item_1">Item 1</li>
<li id="item_2">Item 2</li>
</ul>
Kode yang saya coba gunakan untuk membuat daftar ini adalah:
<ul>
@foreach (var item in Model.TheItems)
{
<li id="[email protected]">Item @item.TheItemId</li>
}
</ul>
Pengurai tersedak, karena berpikir bahwa semua yang ada di sebelah kanan garis bawah dalam atribut id adalah teks biasa dan tidak boleh diurai. Saya tidak yakin bagaimana menginstruksikan parser untuk merender TheItemId.
Saya tidak ingin tetapi properti pada objek model yang menyertakan awalan item_.
Saya juga harus mempertahankan sintaks ini karena saya menggunakan daftar dengan JQuery Sortable dan dengan fungsi serialisasi yang memerlukan atribut id untuk diformat dalam sintaks ini.
asp.net-mvc
asp.net-mvc-3
razor
asp.net-mvc-4
David Marchelya
sumber
sumber
@
dan tanda kurung) ... Apa yang akhirnya berhasil bagi saya adalah yang sangat tidak terlacakid="foo" + Model.Bar
.Bagaimana kalau menggunakan String.Format ? seperti ini:
<li id="@String.Format("item_{0}", item.TheItemId)">
sumber
id="@String.Format('foo{0}', item.Bar)"
?Saya lebih memilih:
Verbositas memberi tahu pengembang dukungan dengan tepat apa yang terjadi, jadi jelas dan mudah dipahami.
sumber
Anda bahkan dapat menggunakan cara ini untuk merangkai lebih banyak string :
Ini postingan lainnya.
Harapan membantu seseorang.
sumber
Anda dapat melakukannya dengan cara yang lebih sederhana:
sumber
Posting ini tampaknya lebih lama tetapi sekarang ini berfungsi sekarang di MVC terbaru:
sumber