为后台控件注册前台事件[Asp.Net]
后台控件,如asp:TextBox,asp:Button等事件很少,但有时想给asp:TextBox加个click,想给asp:Button加个mousemove事件时,发现设计器里根本没有这些事件,那怎么办呢,下面我就以上面的两控件来举例,怎么为后台(Asp.Net)控件加前台(Html)事件
1)在前台加两Asp.Net控件
<asp:TextBox ID="txtTest" runat="server"></asp:TextBox>
<asp:Button ID="btnTest" runat="server" Text="Button" />
我们转到Design模式下给其添加事件时可以发现,TextBox只有常用事件的TextChanged事件,而没有像Onclick,OnMouseMove,OnKeyUp这样的Html控件的事件.Button除了Click外,其它几个也是少用的方法.和TextBox差不多
那我们就给TextBox加个Onkeyup事件,给Button加个OnMouseMove事件来讲解加的过程.
2)在后台Page_Load方法中,写如下
if (!IsPostBack)
{
txtTest.Attributes.Add("Onkeyup","return txtTest_Onkeyup()");
btnTest.Attributes.Add("OnMouseMove", "return btnTest_OnMouseMove()");
}
3)然后在前台写javascript,如下
<script language="javascript" type="text/javascript">
function txtTest_Onkeyup()
{
window.alert("Onkeyup");
//在此做相关操作
}
function btnTest_OnMouseMove()
{
window.alert("OnMouseMove");
//在此做相关操作
}
</script>
然后运行,美妙的结果就出来了.