asp.net控件子类化(文本框水印)

时间:2011-07-08 14:06:50

标签: asp.net

以前我只是真正处理过应用程序,但现在我正在尝试学习Web开发。

对于练习,我想编写一个文本框水印的实现 - 类似于asp.net ajax工具包中的TextBoxWatermark。我从子类化现有的文本框控件开始,但我真的不知道在此之后要继续。我看到很多网络的例子看起来有点像这样:

<asp:Textbox id="tb" runat="server" value="Type in the code" onfocus="if (this.value == 'Type in the code') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Type in the code';}"></asp:Textbox>

我想我的目标是制作一个行为类似的控件:

<asp:Textbox id="tbCode" runat="server" watermarkValue="Type in the code"></asp:Textbox>

以某种方式将javascript内容隐藏在类定义中。我不明白如何注册新属性,或者去哪里扔这个javascript代码。通过我的实现,我想确保当其他位代码在文本框中查询其文本内容时,如果存在所有内容,则不会返回水印文本。 (我在第一个例子中担心的事情。)

我真的不知道从哪里开始这样做。有人可以解释,或指向我已经涵盖这个的教程?

2 个答案:

答案 0 :(得分:1)

当用户点击文本框和其他视觉效果时,将使用javascript设置水印以清除它。

使用RegisterClientScriptBlock将javascript注入页面。这是一篇关于将JavaScript与ASP.NET结合的综合文章:

http://msdn.microsoft.com/en-us/library/aa479011.aspx

答案 1 :(得分:1)

这应该是一个很好的开始

的领域

http://msdn.microsoft.com/en-gb/library/bb386519.aspx

您正在为输出添加额外的标记,因此您将必须了解控件生命周期,以便知道要覆盖哪些方法。

西蒙