我的GridView在Asp.net代码中有下面一列。这是包含针对我的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>我想在JavaScript删除确认对话框中显示城市名称。我已经在MSDN上尝试过这些代码,但是无法得到想要的结果。
预期结果
您确定要删除阿姆斯特丹城市吗?
而不是
您确定要删除这个城市吗?
发布于 2014-03-17 08:20:18
从客户端代码和onClientClick属性中删除DataKeyNames="Cities"事件,并将其命名为“城市”。使用OnRowDataBound="GVCities_OnRowDataBound"将您的对话框绑定到页面加载上的所有行。因此,每当用户单击delete按钮或delete图像时,相应的确认对话框将出现在删除之前。
<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图标时,它都会要求确认包含您所期望的城市名称。
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)
{
...
}
}发布于 2014-03-17 08:06:20
你可以试着跟着
OnClientClick='<%# "confirm(" + Eval("LocationId") + ");" %>' https://stackoverflow.com/questions/22449309
复制相似问题