私は、いくつかのエクストラを持つTextBoxで構成されたUser Controlを持っていますが、この例では単純なTextBoxで十分であると仮定しています。私はWebフォームからこのUser Controlを呼び出しており、基本的にはWebフォーム上のTextBoxで使用した場合と同じように機能するRequiredFieldValidatorを使用できるようにしたいと考えています。これを処理するユーザーコントロールを構成するにはどうすればよいですか?ユーザーコントロール内のRequiredFieldValidatorの処理
EDIT:
DatePicker.ascx
<asp:TextBox runat="server" ID="myControlTB">
DatePicker.ascx.cs
[ValidationProperty("Text")]
public partial class DatePicker : System.Web.UI.UserControl
{
public String Text { get { return myControlTB.Text; } set { myControlTB.Text = value; } }
protected void Page_Load(object sender, EventArgs e)
{
}
}
WebForm.aspx
<cu:UserControl runat="server" ID="myControl">
<asp:RequiredFieldValidator runat="server" errormessage="This is a required field." ControlToValidate="myControl">
<asp:Button ID="btnSubmit" runat="server" Text="Submit" onclick="btnSubmit_Click" />
WebForm.aspx.csあなたはユーザーコントロールにプロパティを追加します
[ValidationProperty("Text")]
public partial class Control
{
public string Text
{
get { return textbox.Text;}
}
}
これは私がプロパティにセットを持たないことと私のバリデーターが最初に現れることを除いて私と似ています。また、私の作業コードでは、Page.Validate()を使用して手動で検証し、Page.IsValidをチェックします。あなたの必要条件ではないかもしれませんが、検証が必要なイベントやメソッドを呼び出すときに、このように機能するかどうかチェックする価値があります。 –
それはショットを与えたが、運はない:/とにかく感謝。 – Kyle
hmmm、私はPage.Validate()をPage_Loadメソッドに配置すれば十分です。これはうまくいきます。残念ながら、これはクライアント側の検証には役立ちません。 – Kyle