1

テキストボックスに整数データ型のみを許可するカスタム 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 イベントの後に発生しました。私はこれで一種の初心者です。不足しているイベントまたはメソッドはありますか? どんな提案も受け入れました。前もって感謝します...

4

1 に答える 1

0

TextBox.LostFocus イベントでデフォルト値を設定してみてください。このイベントは、フォーカスがコントロール (TextBox) から失われた直後に発生します。

于 2012-07-26T05:59:32.670 に答える