[ad_1]
我在gridview中使用了buttonfield。
我想在上面加上删除确认。
怎么办呢。
我尝试过的代码如下。
<asp:GridView ID="GridView1" runat="server" Width="100%" DataKeyNames="NoticeId" onrowdatabound="GridView1_RowDataBound" onrowdeleting="GridView1_RowDeleting" AutoGenerateEditButton="True" onrowediting="GridView1_RowEditing"> <Columns> <asp:ButtonField CommandName="Delete" Text="Delete" ButtonType="Link"/> <asp:BoundField /> </Columns > </asp:GridView>
在gridview的rowdatabound中
if (e.Row.RowType == DataControlRowType.DataRow) { foreach (DataControlFieldCell cell in e.Row.Cells) { // check all cells in one row foreach (Control control in cell.Controls) { // Must use LinkButton here instead of ImageButton // if you are having Links (not images) as the command button. ButtonField button = new ButtonField(); if (button != null && button.CommandName == "Delete") // Add delete confirmation button.onclientclick= "if (!confirm('Are you sure " + "you want to delete this record?')) return;"; } } }
但这里 OnclientClck 不可用,并且它给了我错误。
我认为我的代码是错误的。
这样做的正确方法是什么?
解决方案4
使用这一行作为您的代码
C#
button.Attributes.Add("onclick", "javascript:return confirm('Are you sure?');");
解决方案6
据我了解 ButtonField 不支持 OnClientClick 属性。
替代解决方案是使用 TemplateField 定义 ASP 按钮并调用其 Onclick 事件,如下所示。
<asp:gridview id="GridView1" runat="server" width="100%" xmlns:asp="#unknown"> DataKeyNames="NoticeId" onrowdatabound="GridView1_RowDataBound" onrowdeleting="GridView1_RowDeleting" AutoGenerateEditButton="True" onrowediting="GridView1_RowEditing"> <columns> <asp:templatefield> <itemtemplate> <asp:button id="Button1" runat="server" text="Delete" commandname="Delete" onclientclick="return ConfirmDeletion();" /> </itemtemplate> </asp:templatefield></columns> </asp:gridview>
//header标签中的脚本
<script> function ConfirmDeletion() { return (confirm("Are you sure you want to delete the record?")); } <script>
解决方案1
在代码中使用response.write显示javascript
JavaScript
response.write("<script>return confirm('Are You Sure')</script>");
解决方案5
如果你改变线路:
ButtonField button = new ButtonField();
进入:
LinkButton button = control as LinkButton;
它应该有效。
解决方案7
您好,使用下面的代码解决了这个问题,我希望它对您有用,再见
XML
<script type="text/javascript" language="javascript"> $(document).ready(function() { $(':image').each(function() { var valorRunatAntes = $(this).attr("onclick"); control = $(this); $(this).attr("onclick", ""); $(this).attr("onclick", " if (confirm('¿Esta seguro que desea cambiar la fecha de vigencia?')){" + valorRunatAntes+" ;return true;}else{return false;}"); }); }); </script>
[ad_2]
コメント