我正在使用Razor视图引擎尝试渲染一个类似于以下内容的HTML列表:
<ul>
<li id="item_1">Item 1</li>
<li id="item_2">Item 2</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我试图用来呈现此列表的代码是:
<ul>
@foreach (var item in Model.TheItems)
{
<li id="item_@item.TheItemId">Item @item.TheItemId</li>
}
</ul>
Run Code Online (Sandbox Code Playgroud)
解析器是窒息的,因为它认为id属性中下划线右侧的所有内容都是纯文本,不应该被解析.我不确定如何指示解析器呈现TheItemId.
我不想在模型对象上包含item_前缀的属性.
我还必须保持这种语法,因为我使用带有JQuery Sortable的列表以及需要使用此语法格式化id属性的serialize函数.
我正在使用MVC3,我想使用局部视图来创建动态DOM元素.这是我目前的部分观点:
@model MVCApp.ViewModels.TitlesViewModel
<div class="display-label">Name</div>
<div id="label"+"@Model.Id" class="display-field">@Model.InitValue</div>
Run Code Online (Sandbox Code Playgroud)
Model.Id是1,但在浏览器的HTML中,我目前得到:
id="label"+"1"
Run Code Online (Sandbox Code Playgroud)
所以,如果我尝试做类似的事情:
alert($("#label1").text())
Run Code Online (Sandbox Code Playgroud)
有一个警报框,里面没有任何内容.
那么如何将两个字符串一起添加以形成一个由jQuery(或者document.getElementByID(str)识别的连贯字符串).