首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在删除JavaScript C#代码之前,如何在Asp.net弹出中添加记录名?

问在删除JavaScript C#代码之前,如何在Asp.net弹出中添加记录名?
EN

Stack Overflow用户
提问于 2014-03-17 08:03:38
回答 2查看 181关注 0票数 1

我的GridView在Asp.net代码中有下面一列。这是包含针对我的GridView中所有记录的删除图标的列。我想要做的是将记录的名称添加到JavaScript确认弹出中,我已经实现了。

代码语言: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>

我想在JavaScript删除确认对话框中显示城市名称。我已经在MSDN上尝试过这些代码,但是无法得到想要的结果。

预期结果

您确定要删除阿姆斯特丹城市吗?

而不是

您确定要删除这个城市吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-17 08:20:18

从客户端代码和onClientClick属性中删除DataKeyNames="Cities"事件,并将其命名为“城市”。使用OnRowDataBound="GVCities_OnRowDataBound"将您的对话框绑定到页面加载上的所有行。因此,每当用户单击delete按钮或delete图像时,相应的确认对话框将出现在删除之前。

代码语言:javascript
复制
<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>

​

在代码后面

通过使用下面的代码,您可以将对话框绑定到页面加载的每一行。每当用户单击delete图标时,它都会要求确认包含您所期望的城市名称。

代码语言:javascript
复制
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)
    {
       ...
    }
}
票数 1
EN

Stack Overflow用户

发布于 2014-03-17 08:06:20

你可以试着跟着

代码语言:javascript
复制
 OnClientClick='<%# "confirm(" + Eval("LocationId") + ");" %>' 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22449309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档