我想创建一个模式框,其中包含与单击产品旁边的按钮相关联的产品标题。数据来自数据库。
我目前正在尝试使用一个整数,该整数在表中的每条记录上递增,并使用此整数来获取记录标题。但是,我没有成功打印当前迭代的产品。
我正在使用引导程序样式表。
以下是我的代码片段
foreach (var item in Products)
.. display Title, Description, Price, button & modal code
<button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#myModal_@i"> View Product</button>
<div class="modal fade" id="myModal_@i" role="dialog" data backdrop="false">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">View Product</h4>
---> @Html.DisplayFor(modelItem => Model.Products.ElementAt(i)) ????
</div>
<div class="modal-body" id="@i">
非常感谢任何帮助。
答案 0 :(得分:2)
你想为每一行编号吗?如果是这样,您可以执行以下操作
@model IEnumerable<YourModel>
@{
var count =0;
}
<table>
<thead>
<tr>
<th>#</th>
<th>@Html.DisplayNameFor(m => m.YourField)</th>
</thead>
<tr>
<thead>
<tbody>
@foreach(var item in Model)
{
<tr>
<td>@(count++)</td>
<td>@Html.DisplayFor(m=> item.YourField)</td>
</tr>
}
</tbody>
</table>
您可以根据上面的示例
应用您想要的内容所以你可以在你的div中使用以下方式计数
<div id='@(string.Format("model_{0}",count))'>...
答案 1 :(得分:0)
根据documentation,您的Product类可能需要进行注释才能开始查看您期望的行为。
您是否修饰了要显示的产品属性?