RenderPartial 和弹出模式 MVC C#
RenderPartial and popup modal MVC C#
我在索引视图中有一些代码
@foreach (var item in Model){
<tr><td>......</td>
<td><button class="success" data-toggle="modal" data-target="#detailsModal" >details</button>
<div class="modal fade" id="detailsModal" tabindex="-1" role="dialog" aria-labelledby="detailsModalLabel" aria-hidden="true">
@{Html.RenderPartial("_Details", item);}
</div></td></tr>}
但在不同行上单击我的按钮后,弹出窗口始终显示数据库的第一项。我该如何改变它?
控制器
public ActionResult Details(int? id)
{
DBase dbase = new DBase();
dbase = db.DBase.Find(id);
return PartialView("_Details", dbase);
}
由于 foreach
循环,您在 HTML 中声明了 multiple
个具有相同 ID
的模态。
所以它只使用它找到的第一个模态元素。要解决此问题,请为您的每个模态分配一个唯一的 ID。
因此,您可以通过向其添加索引来更改 data-target="#detailsModal"
和 id="detailsModal"
,使其类似于 id="detailsModal-1"
等
我在索引视图中有一些代码
@foreach (var item in Model){
<tr><td>......</td>
<td><button class="success" data-toggle="modal" data-target="#detailsModal" >details</button>
<div class="modal fade" id="detailsModal" tabindex="-1" role="dialog" aria-labelledby="detailsModalLabel" aria-hidden="true">
@{Html.RenderPartial("_Details", item);}
</div></td></tr>}
但在不同行上单击我的按钮后,弹出窗口始终显示数据库的第一项。我该如何改变它?
控制器
public ActionResult Details(int? id)
{
DBase dbase = new DBase();
dbase = db.DBase.Find(id);
return PartialView("_Details", dbase);
}
由于 foreach
循环,您在 HTML 中声明了 multiple
个具有相同 ID
的模态。
所以它只使用它找到的第一个模态元素。要解决此问题,请为您的每个模态分配一个唯一的 ID。
因此,您可以通过向其添加索引来更改 data-target="#detailsModal"
和 id="detailsModal"
,使其类似于 id="detailsModal-1"
等