问题描述
我自己编写detailsview的数据绑定,有新增、修改和删除功能,所有功能均实现。有一小问题是,为了在删除是弹出消息,我在ItemCreated绑定时增加了intc=CourseDetailsView.Controls[0].Controls.Count;LinkButtonb=(LinkButton)CourseDetailsView.Controls[0].Controls[c-2].Controls[0].Controls[2];b.Attributes.Add("onclick","returnconfirm('sure?')");这个能在客户端弹出消息的js代码。删除提醒也正常。问题是,当点击修改后,如果点取消也会触发这个事件,不知怎么处理好,同样在点击新增后,如果点取消也同样触发这个提示。该怎么区分,是直接删除呢,还是点修改后的取消啊。各位帮看看!提醒下,这个功能我在gridview下曾实现,可以在增加if(GridView1.EditIndex==-1)条件后达到要求效果,不知类似的设置detailsview有没有。各位大侠有兴趣帮看看啊,谢了!
解决方案
解决方案二:
引用楼主kevin_kang的帖子:
我自己编写detailsview的数据绑定,有新增、修改和删除功能,所有功能均实现。有一小问题是,为了在删除是弹出消息,我在ItemCreated绑定时增加了intc=CourseDetailsView.Controls[0].Controls.Count;LinkButtonb=(LinkButton)CourseDetailsView.Controls[0].Controls[c-2].Controls[0].Controls[2];b.Attributes.Add("onclick","returnconfirm('sure?')");这个能在客户端弹出消息的js代码。删除提醒也正常。…
最简单的方法是将功能键转化为模板列,然后直接设置删除按钮的OnClientClick属性为:returnconfirm(.....)
解决方案三:
最简单的方法是将功能键转化为模板列,然后直接设置删除按钮的OnClientClick属性为:returnconfirm(.....)
解决方案四:
这样是可以,但这样无法获取要删除项的信息啊,如prodcutname.
解决方案五:
引用3楼kevin_kang的回复:
这样是可以,但这样无法获取要删除项的信息啊,如prodcutname.
你想在哪儿获取删除项信息?转化为模板列之后,可以给模板列中的控件添加DataBindings。
解决方案六:
在Button的OnCommand事件里可以传递参数信息的,而不是OnClick事件。记住OnCommand事件和OnClick事件只能用一个,并且OnClick事件无法传递参数,而OnCommand可以传递参数。
解决方案七:
<%@PageLanguage="C#"AutoEventWireup="True"%><html><head><scriptrunat="server">voidCommandBtn_Click(Objectsender,CommandEventArgse){switch(e.CommandName){case"Sort"://Callthemethodtosortthelist.Sort_List((String)e.CommandArgument);break;case"Submit"://DisplayamessagefortheSubmitbuttonbeingclicked.Message.Text="YouclickedtheSubmitbutton";//Testwhetherthecommandargumentisanemptystring("").if((String)e.CommandArgument==""){//Endthemessage.Message.Text+=".";}else{//Displayanerrormessageforthecommandargument.Message.Text+=",howeverthecommandargumentisnotrecogized.";}break;default://Thecommandnameisnotrecognized.Displayanerrormessage.Message.Text="Commandnamenotrecogized.";break;}}voidSort_List(stringcommandArgument){switch(commandArgument){case"Ascending"://Insertcodetosortthelistinascendingorderhere.Message.Text="YouclickedtheSortAscendingbutton.";break;case"Descending"://Insertcodetosortthelistindescendingorderhere.Message.Text="YouclickedtheSortDescendingbutton.";break;default://Thecommandargumentisnotrecognized.Displayanerrormessage.Message.Text="Commandargumentnotrecogized.";break;}}</script></head><body><formrunat="server"><h3>ButtonCommandNameExample</h3>Clickononeofthecommandbuttons.<br><br><asp:Buttonid="Button1"Text="SortAscending"CommandName="Sort"CommandArgument="Ascending"OnCommand="CommandBtn_Click"runat="server"/> <asp:Buttonid="Button2"Text="SortDescending"CommandName="Sort"CommandArgument="Descending"OnCommand="CommandBtn_Click"runat="server"/><br><br><asp:Buttonid="Button3"Text="Submit"CommandName="Submit"OnCommand="CommandBtn_Click"runat="server"/> <asp:Buttonid="Button4"Text="UnknownCommandName"CommandName="UnknownName"CommandArgument="UnknownArgument"OnCommand="CommandBtn_Click"runat="server"/> <asp:Buttonid="Button5"Text="SubmitUnknownCommandArgument"CommandName="Submit"CommandArgument="UnknownArgument"OnCommand="CommandBtn_Click"runat="server"/><br><br><asp:Labelid="Message"runat="server"/></form></body></html>