我在用户尝试删除记录表单Gridview
时写了一个确认,如下所示
<head runat="server">
<title></title>
<style type="text/css">
BODY, HTML
{
padding: 0px;
margin: 0px;
}
BODY
{
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
background: #FFF;
padding: 15px;
}
H1
{
font-size: 20px;
font-weight: normal;
}
H2
{
font-size: 16px;
font-weight: normal;
}
FIELDSET
{
border: solid 1px #CCC;
-moz-border-radius: 16px;
-webkit-border-radius: 16px;
border-radius: 16px;
padding: 1em 2em;
margin: 1em 0em;
}
LEGEND
{
color: #666;
font-size: 16px;
padding: 0em .5em;
}
PRE
{
font-family: "Courier New" , monospace;
font-size: 11px;
color: #666;
background: #F8F8F8;
padding: 1em;
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
}
/* Custom dialog styles */
#popup_container.style_1
{
font-family: Georgia, serif;
color: #A4C6E2;
background: #005294;
border-color: #113F66;
}
#popup_container.style_1 #popup_title
{
color: #FFF;
font-weight: normal;
text-align: left;
background: #76A5CC;
border: solid 1px #005294;
padding-left: 1em;
}
#popup_container.style_1 #popup_content
{
background: none;
}
#popup_container.style_1 #popup_message
{
padding-left: 0em;
}
#popup_container.style_1 INPUT[type='button']
{
border: outset 2px #76A5CC;
color: #A4C6E2;
background: #3778AE;
}
</style>
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.ui.draggable.js" type="text/javascript"></script>
<!-- Core files -->
<script src="jquery.alerts.js" type="text/javascript"></script>
<link href="jquery.alerts.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript">
$(document).ready(function () {
var id = $("<%# GridView1.ClientID %> tr").find('#btnDelete.ClientID');
$("#btn").click(function () {
jConfirm('Are you sure you want to delete?', 'Confirmation Dialog', function (r) {
if (r == true) {
__doPostBack(id, "");
}
else
return false;
});
});
});
</script>
</head>
我的GridView
如下
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
ForeColor="#333333" OnRowEditing="GridView1_RowEditing" OnRowCancelingEdit="GridView1_RowCancelingEdit"
OnRowUpdating="GridView1_RowUpdating" OnRowDeleting="GridView1_RowDeleting" Width="574px">
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:Label ID="Id" runat="server" Text='<%#Eval("ID") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:Label ID="eid" runat="server" Text='<%#Eval("ID") %>'></asp:Label>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="Name" runat="server" Text='<%#Eval("Name") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="ename" runat="server" Text='<%#Eval("Name") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Address">
<ItemTemplate>
<asp:Label ID="Address" runat="server" Text='<%#Eval("Address") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="eprice" runat="server" Text='<%#Eval("Address") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:LinkButton ID="edit" runat="server" Text="Edit" CommandName="edit"></asp:LinkButton>
<input id="btn" type="button" value="Delete" class="submit_12" />
<asp:LinkButton ID="btnDelete" runat="server" Visible="false" Text="Delete" CommandName="Delete" />
</ItemTemplate> <EditItemTemplate>
<asp:LinkButton ID="update" runat="server" Text="Update" CommandName="update"></asp:LinkButton>
<asp:LinkButton ID="cancel" runat="server" Text="Cancel" CommandName="cancel"></asp:LinkButton>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
但我无法得到任何人告诉我哪里出错的必要警告
我正在使用此网站的提醒
http://labs.abeautifulsite.net/archived/jquery-alerts/demo/
添加了所有必需的脚本,但仍然存在同样的问题
添加了脚本
答案 0 :(得分:4)
您可能没有在页面中注册JQuery。
看看: http://docs.jquery.com/How_jQuery_Works#jQuery:_The_Basics
了解如何在页面上包含JQquery。
答案 1 :(得分:4)
如果上面的代码是你在页面上的所有内容,那么你就缺少对jQuery库的引用。
jquery.alert.js
只是主jQuery库的插件,所以你需要先引用它,然后引用警告插件。
<script src="[path-to-jquery-library]" type="text/javascript"></script>
<script src="jquery.alerts.js" type="text/javascript"></script>
<link href="jquery.alerts.css" rel="stylesheet" type="text/css" media="screen" />
另外,请仔细检查jquery库所需的最低版本是什么,以便使用此插件。
修改强> 更新代码后,我可以看到您的javascript引用顺序错误。请看我上面的订单。
答案 2 :(得分:1)
我假设您正在尝试将Click事件分配给所有删除按钮?但是你的jQuery选择器表明你正在寻找ID为“btnDelete”的单个元素。在任何情况下,GridView按钮都会有更长的ID,因为.NET将根据控件层次结构分配ID。这可能更像是:
GridView1 $ $ ROW1 btnDelete
GridView1 $ $ ROW2 btnDelete
等
您可以查看页面来源以获取确切的名称,但您的选择器是错误的(即使您只选择了一个按钮)。在你的btnDelete中添加一个独特的CssClass:
<asp:LinkButton ID="btnDelete" runat="server" Visible="false" Text="Delete" CommandName="Delete" CssClass="promptDelete" />
(请注意,此.css文件中不必存在此CssClass) 然后将选择器更改为:
$(".promptDelete").click(function () {
jConfirm('Are you sure you want to delete?', 'Confirmation Dialog', function (r) {
if (r == true) {
__doPostBack(id, "");
}
else
return false;
});
});