//隐藏的输入元素
//我的网格细节: $("#的jqGrid&#34)。jqGrid的({ url:' @ Url.Action(" EditedEventData"," Calendar",new {})' +'?CountryId =' + @countryid +'& CityId =' + @cityid, 异步:是的, 数据类型:" json", colModel:[
//label: "Edit Actions",
name: "",
width: 100,
formatter: "actions",
formatoptions: {
keys: true,
edit: true,
add: true,
del: true,
editOptions: {},
addOptions: {},
delOptions: {
url:'@Url.Action("RemoveEvent", "Calendar")'+ '?HolidayId='+document.getElementById('hdnEventId').value ,
//mtype: 'POST',
}// **here it is showing hdnEventId value empty**
}
}
],
onSelectRow : function(id){
console.log('inside onSelectRow');
alert(id);
document.getElementById('hdnEventId').value=id;
alert(document.getElementById('hdnEventId').value);
},
sortname: 'EventDate',
loadonce: true,
width: 750,
height: 200,
rowNum: 150,
pager: "#jqGridPager"
});
我无法在delOptions操作方法中访问onSelectRow的id。 所以想到了一个隐藏的html元素并存储了值,但它显示为空。 提前致谢
答案 0 :(得分:0)
执行删除时,id会自动发送到服务器。通过post获得的参数名为 id 。
如果你还想在删除行时填写id,你可以使用一些事件来填充你想要的字段。这些是described here。在相同的文档中,请参阅发布到服务器的内容一章。
要在删除行时填写另一个字段中的id,我认为最好选择使用serializeDelData或afterSubmit事件 - 查看同一链接上的事件。
使用这些事件时,参数 postdata 包含id。例如,在serializeDelData(在delOptions中设置)中,这可能看起来像
@foreach (var item in Model.drr)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.DateRange1)</td>
</tr>
}
记住两个事件都应该返回一些参数