当然,这些验证代码不能由用户去写,应该由组件设计者去写,也就是说,当用户把该组件从工具箱中拖到页面上后,运行时应该自动生成验证代码。向web页绘制代码,我们重写onprerender()方法就可以了。
在重写onprerender()方法之前,先写定义几个常量:
private const string scp_number_only_script_id="{29fd7a41-49fd-4fc4-afa9-6a0b875a1a51}"
private const string scp_number_only_hook="return virty(this);"
private const string scp_number_only_script=
"<script language=\"javascript1.2\">\nfunction virty (ctrl)\n{{\n"+
"if (event.keycode == 13)\n return true;\n if (event.keycode < 48 || event.keycode > 57)\n return false;\n else\n return true;\n}}"+
"</script>"
下面的方法用于验证代码的生成:
private void renderjavascript()
{
if(!page.isclientscriptblockregistered(scp_number_only_script_id)) page.registerclientscriptblock(scp_number_only_script_id,string.format(scp_number_only_script,base.id));
}