在Asp.net C#代码中删除之前,如何在JavaScript弹出窗口中添加记录名
在Asp.net代码中的GridView中有以下列。这是一列,其中包含一个针对my GridView中所有记录的删除图标。我想做的是在我已经实现的JavaScript确认弹出窗口中添加记录的名称在Asp.net C#代码中删除之前,如何在JavaScript弹出窗口中添加记录名,c#,javascript,asp.net,.net,gridview,C#,Javascript,Asp.net,.net,Gridview,在Asp.net代码中的GridView中有以下列。这是一列,其中包含一个针对my GridView中所有记录的删除图标。我想做的是在我已经实现的JavaScript确认弹出窗口中添加记录的名称 <asp:GridView ID="GVCities" CssClass="Gview" HeaderStyle-BorderStyle="None" runat="server" AutoGenerateColumn
<asp:GridView ID="GVCities" CssClass="Gview" HeaderStyle-BorderStyle="None" runat="server"
AutoGenerateColumns="False" BackColor="White" CellPadding="4" ForeColor="Black"
GridLines="Horizontal" >
<Columns>
...
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton runat="server" ID="imgbtnDelete" CommandArgument='<%# Eval("CityId")%>'
ImageUrl="~/images/delete_icon.png" ToolTip="Delete"
OnClick="imgbtnDelete_OnClick" OnClientClick="return confirm('Are you sure you want to delete this city?');" />
</ItemTemplate>
<ItemStyle CssClass="GVItems" />
<HeaderStyle CssClass="GVHeader" HorizontalAlign="right" VerticalAlign="Middle" />
</asp:TemplateField>
</Columns>
</asp:GridView>
但无法获得所需的结果
预期结果
您确定要删除阿姆斯特丹市吗
而不是
您确定要删除此城市吗?您可以尝试以下操作
OnClientClick='<%# "confirm(" + Eval("LocationId") + ");" %>'
OnClientClick=''
从客户端代码和DataKeyNames=“Cities”
属性中删除onClientClick
事件,并为其指定“Cities”列名。使用OnRowDataBound=“GVCities\u OnRowDataBound”
将对话框与页面加载上的所有行绑定。因此,每当用户单击删除按钮或删除图像时,删除前将出现相应的确认对话框
<asp:GridView ID="GVCities" CssClass="Gview" HeaderStyle-BorderStyle="None" runat="server" AutoGenerateColumns="False" BackColor="White" CellPadding="4" ForeColor="Black" GridLines="Horizontal" DataKeyNames="Cities" OnRowDataBound="GVCities_OnRowDataBound" >
<Columns>
...
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton runat="server" ID="imgbtnDelete" CommandArgument='<%# Eval("CityId")%>'
ImageUrl="~/images/delete_icon.png" ToolTip="Delete"
OnClick="imgbtnDelete_OnClick" />
</ItemTemplate>
<ItemStyle CssClass="GVItems" />
<HeaderStyle CssClass="GVHeader" HorizontalAlign="right" VerticalAlign="Middle" />
</asp:TemplateField>
</Columns>
您是否在确认框行中尝试过这种方法?是的,我已经尝试过,但在页面加载时会产生错误。请参阅我的编辑,测试它是否呈现输出,您最有可能需要将内容放入块中。在使用分段代码分析器错误消息后,我出现了此错误:服务器标记格式不正确。
protected void GVCities_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
try
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
ImageButton imgbtnDelete = e.Row.FindControl("imgbtnDelete") as ImageButton;
imgbtnDelete.OnClientClick = "return confirm('Are you sure you want to delete " +
GVCities.DataKeys[e.Row.RowIndex]["Cities"].ToString() + " city?');";
}
}
catch (Exception ex)
{
...
}
}