ASP.NET MVC Razor串联
我正在尝试使用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="item_@item.TheItemId">Item @item.TheItemId</li> } </ul>
parsing器是窒息的,因为它认为id属性中的下划线右边的所有内容都是纯文本的,不应该被parsing。 我不确定如何指示parsing器呈现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)">
详细程度告诉支持开发者到底发生了什么,所以清楚易懂。
你甚至可以用这种方式来连接更多的string :
<li id="@("item-"+item.Order + "item_"+item.ShopID)" class="ui-state-default"></li>
这是另一篇文章。
希望有助于某人。