【发布时间】:2016-03-17 00:21:42
【问题描述】:
在我的 gridview 上,我将一个 javascript OnClick 方法关联到一个要求确认删除有界行的链接按钮:
protected void DeleteRow_Click(object sender, EventArgs e)
{
GridViewRow grdrow = (GridViewRow)((LinkButton)sender).NamingContainer;
using (ShoppingCartActions usersShoppingCart = new ShoppingCartActions())
{
string cartId = usersShoppingCart.GetCartId();
int rowIndex = grdrow.RowIndex;
//int rowIndex = ((GridViewRow)((LinkButton)e.CommandSource).NamingContainer).RowIndex;
string itemId = ((HiddenField)CartList.Rows[rowIndex].FindControl("hiddenEncryptedItemID")).Value;
usersShoppingCart.RemoveItemWithOptionsAndValues(cartId, itemId);
CartList.DataBind();
lblTotal.Text = String.Format("{0:N2}", usersShoppingCart.GetTotal());
//return usersShoppingCart.GetCartItems();
}
}
出于美观的原因,我以这种方式构建了我的 ItemTemplate:
<ItemTemplate>
<div class="divItemTotal">
<div>
<asp:Label runat="server" CssClass="totalItem" ID="lblItemTotalPrice" Text='<%#: String.Format("{0:N2}", ((Convert.ToDouble(Item.Quantity)) * Convert.ToDouble(Item.UnitPrice)))%>'></asp:Label>
<asp:Label runat="server" ID="lblCurrency2" Text=" €"></asp:Label></div>
<asp:LinkButton OnClick="DeleteRow_Click" CssClass="removeItem imgRemoveItem" runat="server" ID="DeleteRow"></asp:LinkButton>
</div>
在一个完美的世界中,javascript 方法应该阻止页面执行回发,并在确认后放手。不幸的是,当单击“确定”时没有任何反应,并且 ASP.net 方法永远不会被触发。更奇怪的是,如果没有 javascript 函数,asp 方法只会不时触发,我仍然对此没有任何假设。
【问题讨论】:
标签: javascript c# asp.net gridview confirm