在视图中,用户将检查1个或多个名称从钱包显示的...使用@ HTML.Action与参数,以C#控制器
@if (Model.evModel.Participants != null)
{
foreach (var fi in Model.evModel.Participants)
{
@if (@fi.AttendedFlag != true)
{
@fi.EnrollmentId @fi.ParticipantName
}
}
}
选择名称后,调用函数,以确定其名称检查。检查的名字只需要传递给控制器。问题 - 我收到错误消息:错误49名“ID”不会在目前情况下
function validate(form) {
var id = ""
for (var i = 0; i < document.chkAttend.MyCheckboxes.length; i++)
{
if (document.chkAttend.MyCheckboxes[i].checked)
id += document.chkAttend.MyCheckboxes[i].value + ","
}
if (id == "")
{
alert("Place a check mark next to event's Participant")
}
else
{
@Html.Action("ConfirmAttendance", "Admin", new { eventid = @Model.evModel.Id, enrollid =id })
}
return false;
}
存在我如何通过只检查项目作为参数在我的控制器功能?
+0
您不能只将服务器端代码('@ Html.Action ...')放入客户端代码中。它永远不会工作。您需要了解在返回视图之前在服务器上运行的Razor与在浏览器中运行的Javascript之间的区别。 'id'在当前上下文中不存在,因为该C#代码在页面加载之前在服务器上运行,远早在表单提交时运行的Javascript中创建了'id'变量之前。 –
2014-10-08 18:17:42