Razorビューエンジンを使用して、次のようなHTMLリストをレンダリングしようとしています。
<ul>
<li id="item_1">Item 1</li>
<li id="item_2">Item 2</li>
</ul>
このリストをレンダリングするために使用しようとしているコードは次のとおりです。
<ul>
@foreach (var item in Model.TheItems)
{
<li id="[email protected]">Item @item.TheItemId</li>
}
</ul>
パーサーは、id属性のアンダースコアの右側のすべてがプレーンテキストであり、解析されるべきではないと考えているため、窒息しています。 TheItemIdをレンダリングするようにパーサーに指示する方法がわかりません。
したくないのですが、item_プレフィックスを含むモデルオブジェクトのプロパティです。
また、JQuery Sortableでリストを使用しているため、この構文でid属性をフォーマットする必要があるserialize関数でこの構文を保持する必要があります。
呼び出しの内部部分を( )
でラップする必要があります。
<li id="item_@(item.TheItemId)">
String.Format ?このような:
<li id="@String.Format("item_{0}", item.TheItemId)">
私が好む:
<li id="@String.Concat("item_", item.TheItemId)">
冗長性は、サポート開発者に何が起こっているかを正確に伝えるため、明確で理解しやすいです。
この方法を使用して、さらに文字列を連結することもできます:
<li id="@("item-"+item.Order + "item_"+item.ShopID)" class="ui-state-default"></li>
ここ は別の投稿です。
希望は誰かを助ける。