0
我正在創建自定義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事件後被解僱。 我是這種新手。 我錯過了任何事件或方法?任何建議都被接受。 在此先感謝...
我想在自定義控件類文件中添加代碼,並且如果用戶不專注於文本框,則lostfocus/onblur將不會被觸發。 – LeO 2012-07-26 06:29:40
然後在初始化用戶時向textbox.text =「0」添加默認值控制。如果它的GotFocus事件爲「0」(默認值),則將文本框的值清空爲空字符串(「」)。在LostFocus事件中,檢查值並應用默認值(如果爲空)。 – Umesh 2012-07-26 08:01:26
焦點選項正在工作,但將其初始化爲0,因爲它的文本屬性的代碼隱藏是「」而不是「0」,所以不工作。我正在寫if(string.IsnullorEmpty(this.text)){this.Text =「0」;}。這是真的嗎?在OnInit事件中編寫此代碼是不有效的,因爲如果我不輸入任何內容,點擊事件沒有得到.Text「0」,它只接受「」... – LeO 2012-07-26 09:47:08