【发布时间】:2018-11-12 11:21:37
【问题描述】:
当单击超链接时,我试图将模型的值传递给 jquery 函数 (openBookingSnap)。 但我无法获得传递的价值。 这是我的 CSHTML 代码。请告诉我我在这里缺少什么?
@model List<Model.Booking>
@using (Html.BeginPanel(true))
{
<table>
<tr>
@for (int i = 0; i < Model.Count; i++){
if (i > 0 && i % 3 == 0)
{
@:</tr><tr>
}
<td>
<div id="dataListItem" style ="width: 90px"><a style="cursor: pointer;" onclick="VslVoy.Ux.openBookingSnap(Model[i].bkgNoUid);">@Html.DisplayFor(m => Model[i].bkgNo)</a></div>
</td>
}
</tr>
</table>
}
【问题讨论】:
-
使用
@和如果bkgNoUid是字符串,用引号括起来,即onclick="VslVoy.Ux.openBookingSnap('@Model[i].bkgNoUid');" -
由于
idattributes 重复,您的 html 无效。请改用<div class="dataListItem" ...>。推荐的方法是将data-val-bkgNoUid="@Model[i].bkgNoUid"属性添加到<div>并使用 $('.dataListItem').click(function() { var id = $(this).data('bkgNoUid'); .... . });`
标签: jquery asp.net-mvc razor model