У меня есть пользовательский элемент управления, который состоит из TextBox с несколькими дополнительными функциями, но для целей этого примера достаточно просто предположить, что это обычный 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
protected void btnSubmit_Click(object sender, EventArgs e)
{
Page.Validate();
if (Page.IsValid)
{
// e-mail the form
}
это похоже на мое, за исключением того, что у меня нет набора свойств, и мой валидатор появляется первым. Кроме того, в моем рабочем коде я вручную проверяю использование параметра Page.Validate() и проверяю Page.IsValid. Это может быть не слишком ваши требования, но может стоить проверить, работает ли это так, когда вы вызываете событие или метод, требующий проверки. –
сделал снимок, но не повезло:/Thanks в любом случае. – Kyle
hmmm, как ни странно, если я поместил Page_Validate() в метод Page_Load, это работает. К сожалению, это не помогает для проверки на стороне клиента. – Kyle