一旦后台请求完成,似乎事件处理程序没有再次连接,再次单击删除按钮将不会执行任何操作。之前有人遇到类似的问题吗?
<telerik:RadListView runat="server" ID="RadListView1"
DataSourceID="ObjectDataSource1" AllowPaging="true"
OnDataBound="lstGameWaypoints_DataBound"
OnItemCreated="lstGameWaypoints_ItemCreated"
OnItemCommand="lstGameWaypoints_ItemCommand">
<EmptyDataTemplate>
<div style="width: 100px;margin: 10px auto auto auto;"><button class="AddWaypoint">Add Waypoint</button></div>
</EmptyDataTemplate>
<ItemTemplate>
<td>
<table style="border:1px solid black;width: 232px;height: 70px;margin:auto;">
<tr>
<td>
Time:
</td>
<td>
<%# string.Format("{0:h:mm tt}", Eval("DateTime")) %>
</td>
</tr>
<tr>
<td>
Date:
</td>
<td>
<%# string.Format("{0:d}", Eval("DateTime")) %>
</td>
</tr>
<tr>
<td>
Chip Stack:
</td>
<td>
<%# string.Format("{0:C}", Eval("ChipStack")) %>
</td>
</tr>
<tr>
<td>
Notes:
</td>
<td>
<%# Eval("Notes") %>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:right;">
<asp:Button runat="server" ID="btnDelete" CssClass="deleteButton" CommandArgument='<%# Eval("WaypointID") %>' CommandName="Delete" Text="X" OnClientClick="return confirm('Are you sure you want to delete this waypoint?');" />
</td>
</tr>
</table>
</td>
</ItemTemplate>
</telerik:RadListView>
protected void lstGameWaypoints_ItemCommand(object sender, Telerik.Web.UI.RadListViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
//Do stuff
}
}
更新:
看起来这是我使用的RadAjaxManager托管此控件面板的问题。如果在面板上禁用ajax,则一切正常。
这是完整的代码...
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="panGameWaypoints">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="panGameWaypoints" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="panGameDetails">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="panGameDetails" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
<ClientEvents OnRequestStart="RequestStart" OnResponseEnd="RequestEnd" />
</telerik:RadAjaxManager>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Transparency="60">
<div class="loading">
<asp:Image ID="Image1" runat="server" ImageUrl="~/Images/loading3.gif" AlternateText="loading" />
</div>
</telerik:RadAjaxLoadingPanel>
<asp:Panel runat="server" ID="panGameWaypoints" CssClass="GameWaypoints">
<table style="width:900px;margin:auto;">
<tr>
<telerik:RadListView runat="server" ID="lstGameWaypoints" AllowPaging="false"
OnDataBound="lstGameWaypoints_DataBound"
OnItemCreated="lstGameWaypoints_ItemCreated"
OnNeedDataSource="lstGameWaypoints_NeedDataSource">
<EmptyDataTemplate>
<div style="width: 100px;margin: 10px auto auto auto;"><button class="AddWaypoint">Add Waypoint</button></div>
</EmptyDataTemplate>
<ItemTemplate>
<td>
<table style="border:1px solid black;width: 232px;height: 70px;margin:auto;">
<tr>
<td>
Time:
</td>
<td>
<%# string.Format("{0:h:mm tt}", Eval("DateTime")) %>
</td>
</tr>
<tr>
<td>
Date:
</td>
<td>
<%# string.Format("{0:d}", Eval("DateTime")) %>
</td>
</tr>
<tr>
<td>
Chip Stack:
</td>
<td>
<%# string.Format("{0:C}", Eval("ChipStack")) %>
</td>
</tr>
<tr>
<td>
Notes:
</td>
<td>
<%# Eval("Notes") %>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:right;">
<asp:Button runat="server" ID="btnDelete" CssClass="deleteButton" CommandArgument='<%# Eval("WaypointID") %>' CommandName="Delete" Text="X" OnClientClick="return confirm('Are you sure you want to delete this waypoint?');" />
</td>
</tr>
</table>
</td>
</ItemTemplate>
</telerik:RadListView>
</tr>
</table>
</asp:Panel>