if(btnDelete.Enabled)
{
btnDelete.Text = @"<div onclick=""javascript:return confirm('你确认要删除吗?');"">删除</div>";
}
else
{
btnDelete.Text = "删除";
}把他的Text属性按照上面设置,最好在PreRender函数里

解决方案 »

  1.   

    我用了阁下提供的语句赋给一个button服务器控件,但是空间的text就直接显示:
    <div onclick=""javascript:return confirm('你确认要删除吗?');"">删除</div>
    但是把它赋给Label服务器控件的text却能实现弹出对话框,不知道为什么,还请大侠再指点迷津!谢了!
      

  2.   

    想了很久得出什么结论没有?
    我也觉得奇怪,
    button.Text="<div>hello</div>"

    Label1.Text="<div>hello</div>"
    都是服务器控件,但是显示出来的Text就是不一样?哪位大侠知道?
      

  3.   

    在C#中一样可以使用javascript:<script language="C#" runat="server">
    ......
    </script>
    <script language="jscript">
    function delete_confirm(e){
    if (event.srcElement.type=="submit" && document.all(event.srcElement.name).value =="删除" )
       event.returnValue =confirm("确认是否删除?");
    }
    document.onclick=delete_confirm;
    </script>在DataGrid中有一删除按钮列:
    <asp:ButtonColumn  Text="删除" CommandName="Delete"  ButtonType="PushButton" />
      

  4.   

    button.Attribute.Add("onClick","javascript:return confirm('你确认要删除吗?');");
      

  5.   

    再问:我用
    button.Attribute.Add("onClick","javascript:return confirm('你确认要删除吗?');");
    之后如何在服务器获得confirm返回的值(true or false)?
      

  6.   

    可以这样,做一个隐藏Button按钮,在它的事件里是它确认时要执行的操作代码Page.RegisterStartupScript("","<script> if (confirm('您是否确认修改,修改的结果将导致该人所有流程丢失!')==true){document.forms(0).btn_Flow.click();}</script>");
      

  7.   

    有必要得到返回值吗?如果是false,不会激活服务器端的事件,还不明确吗?
      

  8.   

    可以变通下吗,如果你return true,return false都需要执行相应的代码,可以建立两个隐藏botton,然后分别不同的执行代码啊,比如:Page.RegisterStartupScript("","<script> if (confirm('您是否确认修改,修改的结果将导致该人所有流程丢失!')==true){document.forms(0).btn_Flow.click();}else(document.forms(0).btn_Flow1.click();)</script>");