
var linkbutton=document.createElement('<a>')
linkbutton.onclick=function(){
//此处写你的事件代码
alert("此处写你的事件代码")
}
linkbutton.innerHTML="这是你的button名字"
linkbutton.href="####"
document.body.appendChild(linkbutton)
</script>
(1).在界面中添加一LinkButton,取名为:Label_Confirm,将将Visisable属性置False(2).在Page_Load里加入: Page.RegisterClientScriptBlock("BeSureDelete","<script>function sure(){if(confirm('你确定要删除这条记录吗?')==true) __doPostBack('Label_Confirm','')}</script>")
//注意__doPostBack是两个下划线,且后面跟的Label_Confirm就是我们加的控件ID
(3)在要执行的确认的地方加入这样的代码:如在DataGrid里执行删除代码时:
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName.ToString().ToLower()=="delete")
{
Label_Confirm.Text=e.Item.Cells[1].Text.Trim()
//这儿我是将选中的单元格参数传给Label_Confirm保存,其实可以不用这种方式,具体问题遇到时灵活运用啦
Page.RegisterStartupScript("msgDelete","<script>sure()</script>") //这儿就是调用JavaScript的BeSure函数了
}
……
}
(4),然后就可以在Label_Confirm_Click里处理你的代码了,如:
private void Label_Confirm_Click(object sender, System.EventArgs e)
{
DelFunction(Label_Confirm.Text.Trim())
}
q511579599兄和wangweixznu兄的解答都有参考价值你的想法本身没太大问题,只不过没考虑到Javascript的“每隔20秒执行一次”的运行环境是当前页面,只要页面刷新就没效果了,用Ajax是比较妥当的方法
你所谓的“而且当母版页重新刷新加载,能保证已经用LinkButton2 关闭的showwin() 不再执行,也能用LinkButton1重新使showwin()执行 ?”只是一种假象,虽然点击LinkButton1能执行,但是能前面的执行已经没关系了,要保证JS的“每隔20秒执行一次”能想开就开、想停就停就不能刷新页面,如果你想刷新页面还能继续上一次的执行那就更复杂了。
具体的解决方法是:LinkButton1点击的 *** 作用Javascript来处理,如果涉及后端交互就是用Ajax
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)