新建一个自定义控件,该控件继承自TextBox控件。代码如下:
1
using
System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Text;
5 using System.Web;
6 using System.Web.UI;
7 using System.Web.UI.WebControls;
8
9 // 引入该资源,注意,一次引用之后,在整个Web控件库中均可使用
10 // 或者是在AssemblyInfo.cs中也可以添加对该文件的使用
11 // 引用时资源时,其资源路径格式如下:命名空间.所在Folder.文件名
12 [assembly: WebResource( " GridViewExtention.Resources.alert.js " , " text/javascript " )]
13 namespace GridViewExtention
14 {
15 [DefaultProperty("Text")]
16 [ToolboxData("<{0}:TextBoxEx runat=server></{0}:TextBoxEx>")]
17 public class TextBoxEx : TextBox
18 {
19 [Bindable(true)]
20 [Category("Appearance")]
21 [DefaultValue("")]
22 [Localizable(true)]
23 public override string Text
24 {
25 get
26 {
27 String s = (String)ViewState["Text"];
28 return ((s == null) ? String.Empty : s);
29 }
30
31 set
32 {
33 ViewState["Text"] = value;
34 }
35 }
36
37 protected override void OnPreRender(EventArgs e)
38 {
39 //注册脚本
40 Page.ClientScript.RegisterClientScriptResource(this.GetType(), "GridViewExtention.Resources.alert.js");
41 base.OnPreRender(e);
42 }
43 protected override void Render(HtmlTextWriter writer)
44 {
45 //为该控件添加上客户端的onchange事件
46 writer.AddAttribute("onchange", "alertMsg(this.value);");
47 base.Render(writer);
48 }
49
50 protected override void RenderContents(HtmlTextWriter output)
51 {
52 output.Write(Text);
53 }
54 }
55}
56
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Text;
5 using System.Web;
6 using System.Web.UI;
7 using System.Web.UI.WebControls;
8
9 // 引入该资源,注意,一次引用之后,在整个Web控件库中均可使用
10 // 或者是在AssemblyInfo.cs中也可以添加对该文件的使用
11 // 引用时资源时,其资源路径格式如下:命名空间.所在Folder.文件名
12 [assembly: WebResource( " GridViewExtention.Resources.alert.js " , " text/javascript " )]
13 namespace GridViewExtention
14 {
15 [DefaultProperty("Text")]
16 [ToolboxData("<{0}:TextBoxEx runat=server></{0}:TextBoxEx>")]
17 public class TextBoxEx : TextBox
18 {
19 [Bindable(true)]
20 [Category("Appearance")]
21 [DefaultValue("")]
22 [Localizable(true)]
23 public override string Text
24 {
25 get
26 {
27 String s = (String)ViewState["Text"];
28 return ((s == null) ? String.Empty : s);
29 }
30
31 set
32 {
33 ViewState["Text"] = value;
34 }
35 }
36
37 protected override void OnPreRender(EventArgs e)
38 {
39 //注册脚本
40 Page.ClientScript.RegisterClientScriptResource(this.GetType(), "GridViewExtention.Resources.alert.js");
41 base.OnPreRender(e);
42 }
43 protected override void Render(HtmlTextWriter writer)
44 {
45 //为该控件添加上客户端的onchange事件
46 writer.AddAttribute("onchange", "alertMsg(this.value);");
47 base.Render(writer);
48 }
49
50 protected override void RenderContents(HtmlTextWriter output)
51 {
52 output.Write(Text);
53 }
54 }
55}
56