如何在回发后在页面加载中触发datalist ItemCommand?

时间:2015-04-17 08:37:47

标签: javascript c# asp.net datalist itemcommand

回发后是否可以在页面加载中触发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函数。这就是您在datalist_ItemCommand属性中看到OnClientClick函数的原因。

这是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, '');
    });
}

1 个答案:

答案 0 :(得分:0)

从模态接受时,只需使用适当的id调用_doPostBack, 示例here

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);"