在gridview中javascript确认后未触发Onclick asp.net事件
Onclick asp.net event not triggered after javascript confirmation in gridview
在我的网格视图中,我将一个javascript OnClick方法与一个要求确认删除有界行的链接buton关联:
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方法只会不时地启动,我对此仍然没有任何假设。
试试这个:
<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 CommandArgument='<%# Eval("Item.Id") %>' CommandName="Delete" CssClass="removeItem imgRemoveItem" runat="server" ID="DeleteRow"></asp:LinkButton>
</div>
代码隐藏:
protected void CartList_RowDataBound(object sender, GridViewRowEventArgs e)
{
LinkButton l = (LinkButton)e.Row.FindControl("DeleteRow");
l.Attributes.Add("onclick", "javascript:return " +
"confirm('Are you sure you want to delete this record " +
DataBinder.Eval(e.Row.DataItem, "Item.Id") + "')");
}
protected void GridView1_RowCommand(object sender,
GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
// get the categoryID of the clicked row
int categoryID = Convert.ToInt32(e.CommandArgument);
// Delete the record
DeleteRecordByID(categoryID);
// Implement this on your own :)
}
}
相关文章:
- OnClick对ActionLink-ASP.NET MVC中的Prevent无效
- onclick事件在asp.net上不起作用
- ASP/C#-未触发UpdatePanel和Button OnClick事件
- 如果 onclick 和 onselect 中的语句在 ASP.NET 不起作用
- 使用Bookmarklet在Firefox中为asp表单加载启动onclick事件
- 如何在asp.net图像控件中使用OnClick属性来制作图像库
- 添加JavaScript onClick以动态生成asp按钮
- 如何在ASP.NET中从MenuItem调用onClick事件
- 如何防止 ASP.NET 下拉列表在选择ON选项时触发其onclick事件
- 如何从 HTML 中的 onclick 调用 ASP 函数
- ASP.net 链接按钮“onclick”如果用作UpdatePanel中的AsyncPostBackTrigger触发
- Using ASP TabPanel Onclick
- 将函数的 JavaScript 返回值存储到服务器端的相应 Asp Control OnClick 事件
- 调用 onClick 方法之前的 ASP 警报文本
- 将 ASP.NET 个网络表单 OnClick 事件限制为一次
- 如何在脚本中传递有关我的 asp 页面中“OnClick”事件的参数
- 如何在asp.net中的html onclick事件中传递文本框值
- 在asp.net中,带有引导程序的对话框模式中的Gridview onclick-in会将值返回到模式父页Web表单
- 在gridview中javascript确认后未触发Onclick asp.net事件
- HTML标签:使用onclick-asp.net方法标记