Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Asp.net C#代码中删除之前,如何在JavaScript弹出窗口中添加记录名_C#_Javascript_Asp.net_.net_Gridview - Fatal编程技术网

在Asp.net C#代码中删除之前,如何在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.net代码中的GridView中有以下列。这是一列,其中包含一个针对my GridView中所有记录的删除图标。我想做的是在我已经实现的JavaScript确认弹出窗口中添加记录的名称

<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)
    {
       ...
    }
}