2015-04-17 108 views
0

回发后是否可以在页面加载中触发datalist_ItemCommand函数?这没有道理,但我需要做到这一点。如何在回发后在页面加载中触发datalist_ItemCommand?

这里是scenerio:我有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, ''); 
    }); 
} 
+0

待办事项你从JS端打开模态?检查这个http://stackoverflow.com/questions/4793955/how-to-add-a-confirm-delete-option-in-asp-net-gridview –

+0

是的,我打开模式从JS。但是这个帖子向我展示了浏览器原生的alertbox。我不想用它。 –

+0

比你需要这样的东西? http://www.codeproject.com/Articles/238122/Delete-Functionality-in-GridView-with-Confirmation –

回答

0

从模接受时,只需拨打_doPostBack适当的ID, 例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);"