下面是一个有效的编辑器模板,但需要进行改进。 具体来说,该复选框有一个onclick事件,调用javascript函数;
AdministratorFlagClickFunc(EMPLOYEEID)
我应该做的是在脚本中指定click()事件。但是,如果模板是网格的一部分,我该怎么做呢?我需要识别每一行复选框的id,加上相关的参数?
@model UserLineViewModel
<tr>
<td>
@Html.DisplayFor(x => x.Employee.Forename)
</td>
<td>
@Html.DisplayFor(x => x.Employee.Surname)
</td>
<td>
@Html.DisplayFor(x => x.UserScd.Created)
</td>
<td style="text-align: center;">
@Html.CheckBoxFor(x => x.UserScd.AdminFlag,
new { id = "checkBoxAdministratorFlag",
onclick = "AdministratorFlagClickFunc(" + Model.UserScd.EmployeeId + ")" })
</td>
<td>
@Ajax.ActionLink("Remove", "Delete", new { id=Model.UserScd.EmployeeId }, new AjaxOptions()
{
OnSuccess="refreshPostback"
, Confirm="Are you sure that you want to remove this person?"
, HttpMethod = "post"
})
</td>
</tr>
答案 0 :(得分:0)
问题是你想将点击处理程序移出标记并进入脚本吗?您可以通过css类附加处理程序(不是id,因为每页应该是唯一的)并通过隐藏元素获取emp id:
标记:
<td style="text-align: center;">@Html.CheckBoxFor(x => x.UserScd.AdminFlag, new { class = "checkBoxAdministratorFlag"})@Html.HiddenFor(Model.UserScd.EmployeeId) </td>
脚本:
$('.checkboxAdministratorFlag').click(function() {
var empId = $(this).next('input').val();
//....
});