此类代码中的Beasyer.Lib类库会在本blog的C#类库中给出,且本控件的BeasyerType为自身编制的类型集合(若重量、单价、电话、手机、邮箱、身份证等等)。
GetTestAlign属性:文本框中文字的水平位置
AlwaysLeft属性:水平位置居左
using
System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls;
using System.Web.UI;
using System.ComponentModel;
using Beasyer.Lib;
using System.Text.RegularExpressions;
namespace Beasyer.WebControl.TxtControls
... {
public class TextBox_Safe : TextBox
...{
[DefaultValue(BeasyerType.String)]
public BeasyerType BsStringType
...{
get
...{
getֵ#region getֵ
object o = ViewState["_bsstringtype"];
return o == null ? BeasyerType.String : (BeasyerType)o;
#endregion
}
set
...{
ViewState["_bsstringtype"] = value;
}
}
[DefaultValue("")]
public override string Text
...{
get
...{
return Regex.Replace(base.Text, RegexString.GetReplaceString(BsStringType), "", RegexOptions.IgnoreCase);
}
set
...{
base.Text = value;
}
}
private string GetTestAlign
...{
get
...{
return GetHorizontalAlign.GetTextBoxHorizontalAlign(BsStringType);
}
}
[DefaultValue(false)]
public bool AlwaysLeft
...{
get
...{
object o = ViewState["_alwaysleft"];
return o == null ? false : Convert.ToBoolean(o);
}
set
...{
ViewState["_alwaysleft"] = value;
}
}
protected override void AddAttributesToRender(HtmlTextWriter writer)
...{
writer.AddAttribute("onKeyUp", @"value=value.replace(" + RegexString.GetReplaceString(BsStringType) + ",'')");
writer.AddAttribute("onpaste", @"value=value.replace(" + RegexString.GetReplaceString(BsStringType) + ",'')");
if (!AlwaysLeft)
...{
writer.AddStyleAttribute("text-align", GetTestAlign);
}
base.AddAttributesToRender(writer);
}
}
}
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls;
using System.Web.UI;
using System.ComponentModel;
using Beasyer.Lib;
using System.Text.RegularExpressions;
namespace Beasyer.WebControl.TxtControls
... {
public class TextBox_Safe : TextBox
...{
[DefaultValue(BeasyerType.String)]
public BeasyerType BsStringType
...{
get
...{
getֵ#region getֵ
object o = ViewState["_bsstringtype"];
return o == null ? BeasyerType.String : (BeasyerType)o;
#endregion
}
set
...{
ViewState["_bsstringtype"] = value;
}
}
[DefaultValue("")]
public override string Text
...{
get
...{
return Regex.Replace(base.Text, RegexString.GetReplaceString(BsStringType), "", RegexOptions.IgnoreCase);
}
set
...{
base.Text = value;
}
}
private string GetTestAlign
...{
get
...{
return GetHorizontalAlign.GetTextBoxHorizontalAlign(BsStringType);
}
}
[DefaultValue(false)]
public bool AlwaysLeft
...{
get
...{
object o = ViewState["_alwaysleft"];
return o == null ? false : Convert.ToBoolean(o);
}
set
...{
ViewState["_alwaysleft"] = value;
}
}
protected override void AddAttributesToRender(HtmlTextWriter writer)
...{
writer.AddAttribute("onKeyUp", @"value=value.replace(" + RegexString.GetReplaceString(BsStringType) + ",'')");
writer.AddAttribute("onpaste", @"value=value.replace(" + RegexString.GetReplaceString(BsStringType) + ",'')");
if (!AlwaysLeft)
...{
writer.AddStyleAttribute("text-align", GetTestAlign);
}
base.AddAttributesToRender(writer);
}
}
}