Jeffrey&Lynny

一个温馨小家庭的.Net生活

导航

一点小注意:为Html Server控件添加客户端和服务器端的Event Handler

Html服务器端控件本质上是一个服务器端的控件,然后Render成客户端的相应Html标签,它介于Web服务器端控件和客户端Html控件之间,可以相应客户端和服务器端两种事件。这两种事件处理器都可以在Html服务器控件的标签里面内联(inline)添加,比如如下:

<INPUT type="button" onserverclick="Button1_Click" onclick="Click_handler()" value="Button" runat="server">

我们为System.Web.UI.HtmlControls.HtmlInputButton添加了客户端的onclick事件和服务器端的onserverclick两个事件处理器。最后Render出来的Html代码如下:

<input language="javascript" onclick="Click_handler() __doPostBack('_ctl0','')" name="_ctl0" type="button" value="Button" />

这样就会出现客户端的Javascript错误:"缺少;",原因就是HtmlInputButton的onserverclick是在客户端的onclick事件里面加入__doPostBack Javascript语句来产生PostBack,所以Click_handler()和__doPostBack('_ctl0','')之间需要一个";",所以,我们应该显示添加一个";",这样:

<INPUT type="button" onserverclick="Button1_Click" onclick="Click_handler();" value="Button" runat="server">
这样就变成了:
<input language="javascript" onclick="Click_handler();__doPostBack('_ctl0','')" name="_ctl0" type="button" value="Button" />

posted on 2004-10-08 16:22  比尔盖房  阅读(608)  评论(0编辑  收藏  举报