我正在创建自定义Web控件(文本框),它只允许文本框中的整数数据类型。 如果文本框中没有数据,按钮提交事件,自定义控件应设置TextBox1.Text = 0,这是我想要的。这是我写的代码。
public class MasIntTextBox : TextBox
{
private RequiredFieldValidator req;
private RegularExpressionValidator regex;
public string ValGrp { get; set; }
public string IsRequired { get; set; }//give true/yes or false/no values only
protected override void OnInit(EventArgs e)
{
//this.CssClass = "inp-form";
if (IsRequired == "true" || IsRequired == "yes")
{
req = new RequiredFieldValidator();
req.ControlToValidate = this.ID;
req.ErrorMessage = "Enter Numeric Value";
req.Display = ValidatorDisplay.Dynamic;
if (!string.IsNullOrEmpty(ValGrp))
req.ValidationGroup = ValGrp;
Controls.Add(req);
}
regex = new RegularExpressionValidator();
regex.ControlToValidate = this.ID;
regex.ErrorMessage = "Numeric Value Only";
regex.Display = ValidatorDisplay.Dynamic;
regex.ValidationExpression = "^\\d+(\\.\\d+)?$";
if (!string.IsNullOrEmpty(ValGrp))
regex.ValidationGroup = ValGrp;
Controls.Add(regex);
//base.OnInit(e);
}
protected override void Render(HtmlTextWriter w)
{
base.Render(w);
if (IsRequired == "true" || IsRequired == "yes")
req.RenderControl(w);
regex.RenderControl(w);
}
}
我检查过几个事件或方法,但是在btnA_click事件之后它们被解雇了。 我是新手。 我错过的任何事件或方法?任何建议都被接受。 在此先感谢...
答案 0 :(得分:0)
您应该尝试在TextBox.LostFocus事件上设置默认值。从控件(TextBox)中丢失焦点后,此事件立即触发。