HTMLButton控件下的Confirm()

作者:未知   请作者速与本人联系

一、前言

ASP.NET中大部分如删除等一些动作为了友好都为添加confirm('')来弹出消息框进行提示,但是HTML控件和WEB控件是否使用的方法是一样的呢?

二、方法

A. System.Web.UI.WebControls.Button控件

现在一般都是这样

Page_Load中添加

this.Button1.Attributes.Add("onclick","javascript:return confirm('ok')");

BSystem.Web.UI.HtmlControls.HtmlInputButton控件

来达到目的..而假设为在HTML控件中进行上述操作

this.Button2.Attributes.Add("onclick","javascript:return confirm('ok')");

当然你也可以直接在HTML

id="Button2" type="button" onclick="javascript:return confirm('ok?')" value="Button" name="Button2" runat="server"

 

再运行,首先他会提示缺少;

 

这时打开HTML代码

可以看到

input language="javascript" onclick="javascript:return confirm('ok') __doPostBack('Button2','')" name="Button2" id="Button2" type="button" value="Button"

 

可以清楚的看到不仅仅是少了;而已

而要添加上

if(!confirm('ok')){return};

否则是永远也不会运行它的回发事件,

C、其它控件

现在试试其它控件

protected System.Web.UI.WebControls.ImageButton ImageButton1;

protected System.Web.UI.WebControls.LinkButton LinkButton1;

protected System.Web.UI.HtmlControls.HtmlInputButton Reset1;

protected System.Web.UI.HtmlControls.HtmlInputButton Submit1;

同样在Page_Load中添加代码,运行都可以正常的运行..

打开HTML你可以看到..它们是怎么回发
打开发现只有LinkButtonhref属性中有__doPostBack(),并不是在click事件中所以不会发生上面现象
而其它几个控件则就没有使用__doPostBack()

   D、小技巧

DataGrid中其实可以用更容易的方法来对删除等消息框的处理只要在这里添加

onclick=return confirm(‘确定删除吗?’)>删除

如图

三、总结

通过上面可以看出要添加Attribute时要注意各个控件的区别和差异,添加Attribute要根据各个控件的特性来分别来对待.

转载于:https://www.cnblogs.com/leonardleonard/archive/2004/10/24/1928841.html

你可能感兴趣的:(HTMLButton控件下的Confirm())