自定义控件和必填字段验证器

时间:2012-01-04 07:37:23

标签: c# validation requiredfieldvalidator

我正在为文本框创建一个自定义控件。让我们说当文本框的操作是编辑时,文本框将呈现与文本框相同。另一方面,当文本框是动作时查看,然后文本框将呈现为标签。但是现在我遇到了问题,如何在编辑文本框的操作时使用必填字段验证器验证我的文本框?这是我的编码

[ToolboxData(@"<{0}:cusTextBox runat=""server"" Action=""Edit"" />")]

public class cusTextBox:TextBox
{
    public string Action
    {
        get
        {
            String s = (String)ViewState["Action"];
            return ((s == null) ? String.Empty : s);
        }
        set
        {
            ViewState["Action"] = value;
        }
    }

    public override void RenderControl(HtmlTextWriter writer)
    {
        if (Action ==gbcCommandVariable.CommandEdit)
        {
            base.RenderControl(writer);

        }

        else if (Action == gbcCommandVariable.CommandView)
        {

            writer.Write(String.Format(@"<span ID=""{0}"" style=""display:inline-block; white-space:inherit"" >{1}</span> ", this.ClientID, this.Text));
        }
    }

}

我的前端

             <cc1:cusTextBox ID="cusTextBox1" runat="server" Action="View" ></cc1:cusTextBox>
             <asp:Button ID="Button1" runat="server" onclick="Button1_Click1" 
                 Text="Button" />
             <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                 ControlToValidate="cusTextBox1" 
    ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>

请帮帮我。急。大概

1 个答案:

答案 0 :(得分:1)

也许

   [ValidationProperty("Text")]
   public class cusTextBox:TextBox

属性可以帮助您。