| bsp; } 最后的源码如下: ///////////////////////////////////////////////////////////////////////////// /// 注意,本代码版权所有者为黄忠成先生。 /// 在此表示感谢他写的书《ASP.NET组件设计》 //////////////////////////////////////////////////////////////////////////// using System; using System.Text; using System.Drawing; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace PowerAsp.NET.Controls { [ToolboxBitmap(typeof(NumberEditor),"PowerAsp.NET.Controls.NumberEditor.bmp")] public class NumberEditor:BaseEditor { private const string SCP_NUMBER_ONLY_SCRIPT_ID="{29FD7A41-49FD-4fc4-AFA9-6A0B875A1A51}"; private const string SCP_NUMBER_ONLY_HOOK="return NumberEditor_KeyPress_Handle(this);"; private const string SCP_NUMBER_ONLY_SCRIPT= "<script language=\"JavaScript1.2\">\nfunction NumberEditor_KeyPress_Handle(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>"; //rending number-limit javaScript. 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)); } protected override void AddAttributesToRender(HtmlTextWriter writer) { base.AddAttributesToRender(writer); writer.AddAttribute("OnKeyPress",SCP_NUMBER_ONLY_HOOK); } protected override void OnPreRender(EventArgs e) { base.OnPreRender (e); RenderJavaScript(); } public NumberEditor():base() { } } }
上一页 [1] [2] [3] |