回发后是否可以在页面加载中触发datalist_ItemCommand
函数。这没有意义,但我需要实现这一目标。
这是场景:我有datalist
控制权,它加载了一些人员数据。它在itemTemplate
中有一个删除按钮。
<ItemTemplate>
<tr>
<td><%# Eval("Name") %></td>
<td><%# Eval("EMail") %></td>
<td align="center"><asp:LinkButton ID="btnDelete" runat="server" CommandName="delete" CommandArgument='<%#Eval("id") %>' OnClientClick="confirmMe('My Program title','Are you sure ?','Yes', 'No', 'datalist1_ItemCommand'); return false;"></asp:LinkButton></td>
</tr>
</ItemTemplate>
单击删除按钮时,将显示自定义模式框并等待用户响应。如果用户在模态框中单击"是",则应触发 itemCommand 函数。这就是您在OnClientClick
属性中看到datalist_ItemCommand
函数的原因。
这是JS:
function confirmMe(title, content, button_ok, button_no, asp_control) {
swal({
title: title,
text: content,
type: "warning",
showCancelButton: true,
confirmButtonColor: "#8dc63f",
confirmButtonText: button_ok,
cancelButtonText: button_no,
closeOnConfirm: false,
closeOnCancel: true
},
function (result) {
if (result === true)
__doPostBack(asp_control, '');
});
}
只需在
接受来自模态时使用适当的 id 调用 _doPostBack,这里的例子
function deleteItem(uniqueID, itemID) {
//Show dialog here
//on accept call __doPostBack(uniqueID, ''); than close modal
//on cancel close modal
return false
}
并在客户端单击时调用此方法
OnClientClick="javascript:return deleteItem(this.name, this.alt);"