Asp.net组件设计的浅论(2)

分类: asp.net   出处:iocblog整理  更新时间:2009-07-24   添加到收藏  

    最后的源码如下:

/////////////////////////////////////////////////////////////////////////////

/// 注意,本代码版权所有者为黄忠成先生。

/// 在此表示感谢他写的书《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"> function numbereditor_keypress_handle(ctrl) {{ "+

"if (event.keycode == 13) return true; if (event.keycode < 48 || event.keycode > 57) return false; else return true; }}"+

"</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]



文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。