NumberEditor

来源:互联网 发布:夏普网络扫描设置 编辑:程序博客网 时间:2024/05/16 07:20

using System;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;

namespace binibn
{
 /// <summary>
 /// NumberEditor 的摘要说明。
 /// </summary>

 public class NumberEditor : System.Web.UI.WebControls.TextBox
 {
  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>/n"+
   "function NumberEditor_KeyPress_Handle(ctr1)/n"+
    "{/n"+
    "if(event.keyCode==13)/n"+
    "{/n"+
    "return true;/n"+
    "}/n"+
    "if(event.keyCode<48 || event.keyCode>57)/n"+
    "{/n"+
    "return false;/n"+
    "}/n"+
    "else/n"+
    "{/n"+
    "return true;/n"+
    "}/n"+
    "}/n"+
    "</script>/n";

//这段是在DW中写好复制过来再加上/n的
  private void RenderJavaScript()
  {
   if(!Page.IsClientScriptBlockRegistered(SCP_NUMBER_ONLY_SCRIPT_ID))
   {
    Page.RegisterClientScriptBlock(SCP_NUMBER_ONLY_SCRIPT_ID,SCP_NUMBER_ONLY_SCRIPT);

//上面的这一句又跟

//Page.RegisterClientScriptBlock(SCP_NUMBER_ONLY_SCRIPT_ID,string(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()
  {
  
  }
 }
}